اپلیکیشن اندرویدی فلشکارت آموزشی راهنمای عملی برای ساخت CI/CD Pipelineهای امن
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره راهنمای عملی برای ساخت CI/CD Pipelineهای امن
موضوع کلی: برنامه نویسی
موضوع میانی: گیتلب CI/CD (GitLab CI/CD)
📋 سرفصلهای دوره
- 1. مقدمهای بر توسعه نرمافزار و چرخه عمر آن
- 2. معرفی مفاهیم CI و CD
- 3. مزایای پیادهسازی CI/CD
- 4. چالشهای رایج در پیادهسازی CI/CD
- 5. معرفی GitLab و اکوسیستم آن
- 6. مروری بر GitLab CI/CD
- 7. اهداف این دوره آموزشی
- 8. راهنمای شروع کار با GitLab CI/CD
- 9. نصب و راهاندازی GitLab (اختیاری)
- 10. مفاهیم اولیه Git
- 11. دستورات پایه Git (commit, push, pull, branch, merge)
- 12. مدیریت مخازن (Repositories) در GitLab
- 13. ایجاد یک پروژه جدید در GitLab
- 14. پیکربندی مخزن Git برای پروژه
- 15. آشنایی با مفهوم Pipeline در GitLab CI/CD
- 16. فایل `.gitlab-ci.yml` و نقش آن
- 17. ساختار کلی فایل `.gitlab-ci.yml`
- 18. معرفی مفهوم Jobs (وظایف)
- 19. دستور `script` در Jobs
- 20. دستور `image` برای تعریف محیط اجرا
- 21. دستور `stage` برای دستهبندی Jobs
- 22. مراحل (Stages) رایج در CI/CD (build, test, deploy)
- 23. تعریف و پیکربندی Stages
- 24. ترتیب اجرای Stages
- 25. دستور `only` و `except` برای کنترل اجرای Jobs
- 26. دستور `rules` برای کنترل پیشرفتهتر اجرای Jobs
- 27. انواع مختلف Rules
- 28. معرفی مفهوم Variables (متغیرها)
- 29. متغیرهای پیشفرض GitLab CI/CD
- 30. تعریف متغیرهای سفارشی در سطح پروژه
- 31. تعریف متغیرهای سفارشی در سطح گروه
- 32. استفاده از متغیرها در Jobs
- 33. متغیرهای امن (Secrets) و نحوه مدیریت آنها
- 34. معرفی مفهوم Artifacts (خروجیها)
- 35. تعریف و پیکربندی Artifacts
- 36. نحوه بارگذاری و دانلود Artifacts
- 37. استفاده از Artifacts برای انتقال فایل بین Jobs
- 38. معرفی مفهوم Cache (کش)
- 39. مدیریت Cache برای افزایش سرعت اجرای Pipeline
- 40. تعریف و پیکربندی Cache
- 41. بهینهسازی استفاده از Cache
- 42. معرفی مفهوم Services (سرویسها)
- 43. استفاده از Docker-in-Docker (DinD)
- 44. پیکربندی Services برای پایگاه داده و سایر ابزارها
- 45. معرفی مفهوم Runners (اجراکنندهها)
- 46. انواع Runners (Shared, Specific, Group)
- 47. نحوه ثبت و پیکربندی Runners
- 48. اتصال Runners به پروژه
- 49. دستور `tags` برای هدایت Jobs به Runners خاص
- 50. مفاهیم پیشرفتهتر Runners
- 51. امنیت در CI/CD: مقدمه
- 52. اهمیت امنیت در Pipelineهای CI/CD
- 53. شناسایی نقاط آسیبپذیری رایج
- 54. دستور `allow_failure` و خطرات آن
- 55. مدیریت دسترسیها در GitLab CI/CD
- 56. معرفی مفهوم SSH Keys
- 57. استفاده از SSH Keys برای دسترسی امن
- 58. مدیریت Secrets و Variables امن
- 59. استفاده از Vault برای مدیریت Secrets
- 60. پیکربندی Docker Security Scans
- 61. اسکن کدهای منبع (SAST)
- 62. اسکن وابستگیها (Dependency Scanning)
- 63. اسکن تصاویر Docker (Container Scanning)
- 64. اسکن API (DAST)
- 65. معرفی ابزارهای SAST رایج
- 66. تنظیم SAST در GitLab CI/CD
- 67. معرفی ابزارهای Dependency Scanning رایج
- 68. تنظیم Dependency Scanning در GitLab CI/CD
- 69. معرفی ابزارهای Container Scanning رایج
- 70. تنظیم Container Scanning در GitLab CI/CD
- 71. معرفی ابزارهای DAST رایج
- 72. تنظیم DAST در GitLab CI/CD
- 73. مفاهیم کدنویسی امن (Secure Coding Practices)
- 74. بررسی کدهای امن در Pipeline
- 75. استفاده از Linters برای اطمینان از کیفیت کد
- 76. پیکربندی Linters در `.gitlab-ci.yml`
- 77. مدیریت کلیدهای API و توکنها به صورت امن
- 78. عدم نگهداری اطلاعات حساس در کد
- 79. ایجاد Pipelineهای چند مرحلهای
- 80. Pipelineهای شرطی (Conditional Pipelines)
- 81. Pipelineهای پارامتری (Parameterized Pipelines)
- 82. معرفی مفهوم Environmentهای استقرار
- 83. پیکربندی Environmentها در GitLab
- 84. استقرار در Environmentهای مختلف (staging, production)
- 85. استفاده از Auto Deploy در GitLab
- 86. مفهوم Progressive Delivery
- 87. معرفی Blue/Green Deployments
- 88. پیادهسازی Blue/Green Deployments با GitLab CI/CD
- 89. معرفی Canary Deployments
- 90. پیادهسازی Canary Deployments با GitLab CI/CD
- 91. مدیریت Rollbacks
- 92. اتوماسیون Rollbackها
- 93. مانیتورینگ و لاگینگ در CI/CD
- 94. تجمیع لاگها
- 95. تجزیه و تحلیل لاگها
- 96. مانیتورینگ عملکرد Pipelineها
- 97. ابزارهای مانیتورینگ خارجی
- 98. یکپارچهسازی مانیتورینگ با Pipeline
- 99. مدیریت خطاها و استثناها در Pipeline
- 100. نحوه برخورد با شکست Pipelineها
این اپلیکیشن فارسی برای یادگیری و مرور محتوای آموزشی از طریق فلشکارت طراحی شده است. کارتها را یکییکی مرور کنید، پاسخ پرسشها را به یاد بیاورید و نتیجه هر پاسخ را ثبت کنید. محتوای دوره پس از نصب درون برنامه در دسترس است تا برای مطالعه روزمره معمولاً به اتصال مداوم اینترنت نیاز نداشته باشید.
محتوای آموزشی در قالبهای متنوع ارائه میشود تا هم برای یادگیری مفاهیم جدید و هم برای تثبیت آموختهها قابل استفاده باشد.
- رابط کاربری فارسی و راستچین با فونت وزیر.
- تم روشن و تیره مطابق تنظیمات سیستم.
- صفحهبندی ساده برای انتخاب دوره و شروع مرور.
- نمایش تعداد دفعات مرور هر فصل.
- انتخاب چند فصل برای مرور همزمان.
- امکان تمرکز بر فصلهایی که هنوز مرور نشدهاند.
این اپلیکیشن برای دانشآموزان، دانشجویان، داوطلبان آزمونها و علاقهمندان به یادگیری طراحی شده است؛ بهویژه کسانی که میخواهند مطالب آموزشی را در زمانهای کوتاه مرور کنند، دانستههای خود را بسنجند و مطالعه منظمتری داشته باشند.
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.