کتاب راهنمای عملی برای ساخت CI/CD Pipelineهای قابل اعتماد با فرمت AZW3 برای کتابخوان کیندل و فرمت EPUB
راهنمای عملی ساخت CI/CD Pipelineهای قابل اعتماد با GitLab آینده توسعه نرمافزار اینجاست: با GitLab CI/CD حرفهای شوید! آیا از فرایندهای دستی خستهکننده در توسعه و استقرار نرمافزار کلافه شدهاید؟ آیا ...
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره راهنمای عملی برای ساخت CI/CD Pipelineهای قابل اعتماد
موضوع کلی: برنامه نویسی
موضوع میانی: گیتلب CI/CD (GitLab CI/CD)
📋 سرفصلهای دوره
- 1. مقدمهای بر DevOps و فرهنگ آن
- 2. CI/CD چیست و چرا اهمیت دارد؟
- 3. آشنایی با پلتفرم گیتلب و اکوسیستم آن
- 4. معماری و اجزای اصلی گیتلب CI/CD
- 5. راهاندازی اولین پروژه و آشنایی با رابط کاربری
- 6. ساختار و سینتکس فایل `.gitlab-ci.yml`
- 7. اولین پایپلاین شما: یک Job ساده
- 8. مفاهیم کلیدی: Pipeline, Stage, Job
- 9. تفاوت بین Pipeline, Job و Script
- 10. بررسی لاگها و خروجی یک Job
- 11. وضعیتهای مختلف Job: success, failed, pending
- 12. آشنایی با کلمات کلیدی اصلی YAML در گیتلب
- 13. تعریف Stageها و کنترل ترتیب اجرای Jobها
- 14. استفاده از `script` برای اجرای دستورات Shell
- 15. دستورات چندخطی و مدیریت خطا در `script`
- 16. کلمات کلیدی `before_script` و `after_script`
- 17. آشنایی با گیتلب Runner و نقش آن
- 18. انواع Runnerها: Shared, Specific, و Group
- 19. نصب و راهاندازی یک GitLab Runner روی لینوکس
- 20. رجیستر کردن یک Runner برای پروژه
- 21. Executorها چه هستند؟ معرفی انواع آن
- 22. کار با Shell Executor
- 23. کار با Docker Executor
- 24. مفهوم Image در Jobهای داکر
- 25. استفاده از Services در Docker Executor (مثلاً دیتابیس)
- 26. کار با Kubernetes Executor
- 27. تگگذاری Runnerها برای کنترل اجرای Jobها
- 28. مدیریت Artifacts: ذخیره خروجی Jobها
- 29. تنظیم انقضا برای Artifacts با `expire_in`
- 30. مرور و دانلود Artifacts از رابط کاربری گیتلب
- 31. بهینهسازی پایپلاین با Cache
- 32. تفاوت کلیدی بین Cache و Artifacts
- 33. پیکربندی Cache به صورت سراسری و برای هر Job
- 34. استفاده از `key` برای مدیریت کشهای مختلف
- 35. مقدمهای بر متغیرهای CI/CD
- 36. متغیرهای از پیش تعریفشده گیتلب (Predefined Variables)
- 37. تعریف متغیرهای سفارشی در `.gitlab-ci.yml`
- 38. تعریف متغیرها از طریق تنظیمات پروژه در UI
- 39. Scope متغیرها: Environment-specific Variables
- 40. متغیرهای محافظتشده (Protected Variables) برای Secretها
- 41. پنهانسازی (Masking) متغیرها در لاگها
- 42. متغیرهای از نوع فایل (File-type Variables)
- 43. گسترش و اولویت متغیرها (Variable Expansion)
- 44. کنترل اجرای Jobها با `when`
- 45. اجرای Jobها به صورت دستی با `when: manual`
- 46. اجرای Jobهای پاکسازی با `when: on_failure`
- 47. اجرای Jobها در هر حالتی با `when: always`
- 48. جایگزین مدرن برای `only/except`: کلمه کلیدی `rules`
- 49. آشنایی با سینتکس `rules` و `if`
- 50. اجرای Jobها بر اساس تغییرات فایل با `rules:changes`
- 51. اجرای Jobها بر اساس وجود فایل با `rules:exists`
- 52. ترکیب شرطهای مختلف در `rules`
- 53. جلوگیری از Jobهای تکراری در Merge Request
- 54. مفهوم Directed Acyclic Graphs (DAG) در پایپلاین
- 55. اجرای موازی Jobها با `needs`
- 56. ایجاد وابستگی بین Jobها در Stageهای مختلف
- 57. استفاده از `needs` برای دانلود Artifacts
- 58. ماژولار کردن فایل `.gitlab-ci.yml` با `include`
- 59. ارثبری تنظیمات Job با `extends`
- 60. مفهوم Templateهای مخفی YAML با نقطه در ابتدا
- 61. پیکربندی Jobهای داینامیک با Parallel Matrix
- 62. مفهوم Parent-Child Pipelines
- 63. کار با Trigger Jobها برای فراخوانی پایپلاینهای دیگر
- 64. استفاده از Multi-project Pipelines
- 65. مقدمهای بر Container Registry گیتلب
- 66. ساخت و پوش کردن یک Docker Image به رجیستری
- 67. استفاده از Image ساخته شده در Jobهای بعدی
- 68. سیاستهای پاکسازی Imageها در رجیستری
- 69. مفهوم Environments و Deployments در گیتلب
- 70. پیکربندی یک Environment (مثلاً staging و production)
- 71. رهگیری استقرارها و تاریخچه آنها
- 72. استقرار در محیطهای داینامیک (Dynamic Environments)
- 73. مفهوم Review Apps برای Merge Requestها
- 74. راهاندازی و پیکربندی Review Apps
- 75. چرخه حیات یک Review App
- 76. اجرای Unit Testها در پایپلاین
- 77. جمعآوری و نمایش نتایج تست (Test Reports)
- 78. تحلیل کد با Code Coverage و نمایش آن در گیتلب
- 79. مفهوم Quality Gates
- 80. ادغام Code Quality در پایپلاین
- 81. ابزارهای Static Application Security Testing (SAST)
- 82. فعالسازی و پیکربندی SAST در گیتلب
- 83. ابزارهای Dynamic Application Security Testing (DAST)
- 84. اسکن وابستگیها (Dependency Scanning) برای آسیبپذیریها
- 85. اسکن Secretها و جلوگیری از کامیت شدن آنها
- 86. یکپارچهسازی با ابزارهای خارجی (مانند SonarQube)
- 87. مدیریت انتشار نرمافزار با GitLab Releases
- 88. ایجاد Release به صورت خودکار از طریق پایپلاین
- 89. ضمیمه کردن Artifacts به یک Release
- 90. استراتژیهای استقرار: Rolling Update
- 91. استراتژی استقرار: Blue-Green Deployment
- 92. استراتژی استقرار: Canary Releases
- 93. استفاده از Feature Flags برای کنترل انتشار قابلیتها
- 94. Jobهای زمانبندی شده (Scheduled Pipelines)
- 95. راهاندازی پایپلاین از طریق API گیتلب
- 96. استفاده از Pipeline Triggers
- 97. بهینهسازی زمان اجرای پایپلاین
- 98. الگوهای طراحی برای فایلهای `.gitlab-ci.yml` پیچیده
- 99. ایمنسازی پایپلاینها: بهترین شیوهها
- 100. استفاده از OpenID Connect (OIDC) برای احراز هویت امن
تگها:
ci/cd
Continuous Delivery
Continuous Integration
DevOps
Git
GitLab CI/CD
Pipeline
اتوماسیون
برنامه نویسی
پیاده سازی CI/CD
توسعه نرم افزار
ساخت پایپلاین
کدنویسی
گیتلب
مخزن کد
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.