دوره استفاده از GitLab CI/CD برای استقرارهای Blue/Green و Canary همراه با فلشکارت آموزشی — ارائه روی فلش مموری
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره استفاده از GitLab CI/CD برای استقرارهای Blue/Green و Canary
موضوع کلی: برنامه نویسی
موضوع میانی: گیتلب CI/CD (GitLab CI/CD)
📋 سرفصلهای دوره
- 1. مقدمهای بر DevOps و فرهنگ آن
- 2. CI/CD چیست و چرا اهمیت دارد؟
- 3. آشنایی با پلتفرم GitLab و اجزای آن
- 4. مروری بر GitLab CI/CD: مفاهیم اصلی
- 5. مفهوم Pipeline، Stage و Job
- 6. آشنایی با GitLab Runners و انواع آن
- 7. نصب و راهاندازی یک GitLab Runner اشتراکی (Shared)
- 8. نصب و راهاندازی یک GitLab Runner خاص (Specific)
- 9. اصول اولیه Git: Branching و Merging برای CI/CD
- 10. چرخه حیات یک Pipeline در GitLab
- 11. معرفی فایل `.gitlab-ci.yml`: ساختار و سینتکس پایه
- 12. ساخت اولین Pipeline: Hello World
- 13. تعریف Stages و ترتیب اجرای آنها
- 14. نوشتن اسکریپتهای ساده در Jobs
- 15. استفاده از `before_script` و `after_script`
- 16. متغیرهای از پیش تعریفشده (Predefined Variables)
- 17. تعریف متغیرهای سفارشی (Custom Variables) در `.gitlab-ci.yml`
- 18. تعریف متغیرها در تنظیمات پروژه GitLab (UI)
- 19. متغیرهای محافظتشده (Protected Variables)
- 20. مفهوم Artifacts و کاربرد آن در اشتراکگذاری نتایج بین Jobs
- 21. تنظیم انقضا برای Artifacts
- 22. استفاده از Cache برای بهینهسازی سرعت Pipeline
- 23. تفاوت کلیدی بین Cache و Artifacts
- 24. کلمات کلیدی `image` و `services` برای تعریف محیط اجرا
- 25. استفاده از Docker-in-Docker برای ساخت ایمیجهای کانتینری
- 26. معرفی GitLab Container Registry
- 27. ساخت و Push کردن یک Docker Image به GitLab Registry
- 28. استفاده از ایمیجهای خصوصی در Pipeline
- 29. کنترل اجرای Jobs با `when`: on_success, on_failure, always
- 30. اجرای دستی Jobs با `when: manual`
- 31. قوانین پیشرفتهتر برای کنترل Jobs: معرفی `rules`
- 32. استفاده از `rules:if` برای شرطهای پیچیده
- 33. ترکیب `rules` با متغیرها و وضعیت Git
- 34. مقایسه `rules` با `only/except` و زمان استفاده از هر کدام
- 35. مدیریت کدهای تکراری با `extends`
- 36. استفاده از YAML Anchors برای کاهش تکرار
- 37. سازماندهی Pipeline های بزرگ با `include`
- 38. اجرای تستهای واحد (Unit Tests) در یک Job
- 39. تولید و ذخیرهسازی گزارشهای تست (Test Reports)
- 40. تحلیل کیفیت کد با ابزارهایی مانند SonarQube
- 41. مفهوم Linting و اجرای آن در Pipeline
- 42. اسکن امنیتی استاتیک (SAST) در GitLab CI/CD
- 43. اسکن وابستگیها (Dependency Scanning)
- 44. اسکن امنیتی داینامیک (DAST)
- 45. مدیریت خطاها و تلاش مجدد خودکار (Retry)
- 46. تنظیم Timeout برای Jobs
- 47. استفاده از `needs` برای ساخت گراف اجرای Jobs (DAG)
- 48. اجرای موازی Jobs با `parallel`
- 49. استفاده از `interruptible` برای لغو Pipeline های قدیمی
- 50. معرفی Environments در GitLab
- 51. مفاهیم استقرار (Deployment): از FTP تا زیرساخت ابری
- 52. استراتژیهای استقرار: Rolling, Recreate, Blue/Green, Canary
- 53. پیکربندی Environments برای محیطهای مختلف (Staging, Production)
- 54. متغیرهای محدود به یک Environment خاص
- 55. محافظت از Environment ها و مجوزهای استقرار
- 56. استفاده از SSH برای استقرار روی سرورهای مجازی
- 57. مدیریت کلیدهای SSH به صورت امن در متغیرهای CI/CD
- 58. مقدمهای عمیق بر استقرار Blue/Green: مزایا و معایب
- 59. معماری یک استقرار Blue/Green: دو محیط موازی
- 60. پیادهسازی زیرساخت اولیه برای Blue/Green (مثال با Nginx)
- 61. نوشتن Job برای استقرار در محیط Blue (غیرفعال)
- 62. نوشتن اسکریپتهای Health Check برای تایید سلامت نسخه جدید
- 63. Job برای تغییر مسیر ترافیک: فعالسازی محیط Blue
- 64. استراتژیهای تعویض ترافیک: تغییر DNS
- 65. استراتژیهای تعویض ترافیک: استفاده از Reverse Proxy یا Load Balancer
- 66. پیادهسازی یک Pipeline کامل Blue/Green در `.gitlab-ci.yml`
- 67. Job دستی برای تایید نهایی و تعویض ترافیک
- 68. استراتژی Rollback در مدل Blue/Green: بازگشت به محیط Green
- 69. خودکارسازی Rollback در صورت شکست Health Check
- 70. پاکسازی محیط قدیمی پس از استقرار موفق
- 71. مقدمهای عمیق بر استقرار Canary: کاهش ریسک با انتشار تدریجی
- 72. معماری یک استقرار Canary: مسیریابی مبتنی بر وزن
- 73. پیادهسازی زیرساخت اولیه برای Canary (مثال با Kubernetes/Istio)
- 74. نوشتن Job برای استقرار نسخه Canary
- 75. پیکربندی Load Balancer برای ارسال درصد کمی از ترافیک به Canary
- 76. Job برای افزایش تدریجی ترافیک به نسخه Canary
- 77. مانیتورینگ نسخه Canary: بررسی خطاها و عملکرد
- 78. ادغام ابزارهای مانیتورینگ (مانند Prometheus) با Pipeline
- 79. تعریف معیارهای موفقیت برای استقرار Canary
- 80. پیادهسازی یک Pipeline کامل Canary در `.gitlab-ci.yml`
- 81. Job دستی برای تایید نهایی و هدایت ۱۰۰٪ ترافیک
- 82. استراتژی Rollback خودکار در مدل Canary
- 83. مقایسه عملی Blue/Green و Canary: کدام را انتخاب کنیم؟
- 84. معرفی Review Apps برای پیشنمایش تغییرات در Merge Request
- 85. پیادهسازی Review Apps با GitLab CI/CD
- 86. Pipeline های والد-فرزند (Parent-Child Pipelines)
- 87. ایجاد Pipeline های داینامیک (Dynamic Pipelines)
- 88. استفاده از GitLab API برای کنترل Pipeline ها
- 89. بهینهسازی پیشرفته Pipeline: بهترین روشهای Caching
- 90. مدیریت رازها (Secrets Management) با HashiCorp Vault
- 91. ادغام GitLab با Kubernetes (GitLab Agent for Kubernetes)
- 92. استقرار بر روی Kubernetes با استفاده از GitLab CI/CD
- 93. مروری بر GitLab Auto DevOps و کاربردهای آن
- 94. ساخت تمپلیتهای CI/CD برای استفاده در سطح گروه یا سازمان
- 95. استراتژیهای Branching موثر برای CI/CD (GitFlow vs. GitLab Flow)
- 96. مانیتورینگ و آنالیز عملکرد Pipeline ها (Pipeline Analytics)
- 97. امنیت Pipeline: جلوگیری از تزریق اسکریپت و دسترسیهای غیرمجاز
- 98. جمعبندی نهایی: ساخت یک پروژه کامل از ابتدا تا استقرار Canary
- 99. **مانیتورینگ و مشاهدهپذیری استقرارها: ابزارها و تکنیکها**
- 100. **امنیت در CI/CD: بهترین روشها و ابزارهای اسکن آسیبپذیری**
محتویات بسته آموزشی
🌐 سامانه آنلاین فلشکارت؛ مرور هدفمند و هوشمند
اکانت ارائهشده، دسترسی به نسخه تحت وب سامانه فلشکارت ویژه این دوره را فراهم میکند. این سامانه از الگوریتم زمانبندی مرور SM-2 استفاده میکند و بر اساس ارزیابی شما از میزان یادآوری هر کارت، زمان مرورهای بعدی را تنظیم میکند.
به این ترتیب، کارتهای دشوارتر میتوانند زودتر مرور شوند و برای تثبیت مطالب در حافظه، برنامه مرور متناسبتری داشته باشید.
مدتزمان معادل آموزشی بر اساس برآورد این دوره در گواهی درج میشود.
گواهی دوزبانه با استعلام آنلاین
پس از تکمیل فعالیتهای لازم و تأیید درخواست، گواهی پایان دوره به زبان فارسی و انگلیسی صادر میشود. گواهی دارای لینک اختصاصی و QR Code برای بررسی و استعلام آنلاین است.
این گواهی صرفاً بهعنوان گواهی اتمام دوره آموزشی صادر میشود و معادل مدرک دانشگاهی، آکادمیک یا مدرک رسمی مورد تأیید نهادهای دولتی نیست. صدور آن منوط به تکمیل شرایط دوره و تأیید نهایی درخواست است.
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.