آموزش Gitlab CI/CD برای توسعه‌دهندگان تنبل

مدرس: محمد بابازاده

فرآیند CI/CD فرآیندی برای ادغام و توسعه مداوم نرم افزار است. با استفاده از فرآیند CI/CD با هر تغییر در مخزن گیت، عملیاتی به صورت خودکار آغاز می‌شود و اپلیکیشن به صورت اتوماتیک مراحل Build، تست، دیپلوی و ... را طی می‌کند. خودکارسازی عملیات بارگذاری اپلیکیشن باعث می‌شود زمان بیشتری برای توسعه کدهای با کیفیت داشته باشیم و انجام کارهای روتین را به اسکریپت‌های از پیش نوشته شده بسپاریم. کاهش دغدغه‌ها در محیط‌های توسعه نرم‌افزار کمک بسیاری به افزایش بهره‌وری خواهد کرد و نسخه‌های جدید محصول در بازه‌های زمانی کوتاه‌تری به دست مشتریان خواهد رسید.

gitlab ci/cd logoGitlab CI/CD ابزاری قدرتمند برای ایجاد فرآیندهای ادغام و تحویل مداوم و خودکار نرم‌افزار است.

چرا ادغام و تحویل مداوم نرم‌افزار برای من مفید خواهد بود؟

مشکلات بزرگ نگهداری نرم‌افزاری زمانی به وجود آمد که ریلیزهای جدید نرم‌افزار همانند یک بمب عمل می‌کرد. تیم‌های توسعه با مشغله بسیار در حال توسعه کدها بودند؛ اما تغییرات جدید نرم‌افزار به درستی به دست مشتریان نمی‌رسید و هر نسخه جدید ممکن بود باعث خرابی‌هایی در سرورهای عملیاتی شود.

devops solution

به همین دلیل فرهنگی به نام DevOps وارد تیم‌ها و محیط‌های توسعه محصولات نرم‌افزاری شد تا کدورت قدیمی بین مهندسان نرم‌افزار (Develop) و مدیران سیستم (Operation) را برطرف کند. با پیاده‌سازی فرهنگ‌های DevOps با استفاده از ابزارهایی نظیر Gitlab CI/CD می‌توان به برنامه‌نویسان امکان ادغام و تحویل مداوم و خودکار نرم‌افزار را داد. با هر تغییری که برنامه‌نویس در مخزن گیت اعمال می‌کند، اسکریپت‌های از پیش نوشته شده به صورت خودکار اجرا خواهند شد و برنامه‌نویس می‌تواند نتیجه تغییرات خود را بلافاصله مشاهده کند و مسئولیت اجرای برنامه خود در سرورهای عملیاتی را برعهده بگیرد. زیرا تنها برنامه‌نویسی که کدها را نوشته می‌داند این کدها چطور می‌توانند به بهترین شکل اجرا شوند.

    در این دوره با انجام سناریوهایی عملی، فرآیندهای ادغام و تحویل مداوم نرم‌افزار را با ابزار قدرتمند Gitlab CI/CD انجام خواهیم داد.

gitlab environment

دوره Gitlab CI/CD برای چه کسانی مفید خواهد بود؟

اگر شما یک توسعه‌دهنده هستید، این دوره مناسب شما است. احتمالا تاکنون هنگام توسعه و تحویل نرم‌افزار  با کارهای تکراری مواجه شده‌اید که هردفعه باید به صورت دستی انجام دهید. چه قدر بهتر می‌شد اگر این فرآیندها را هردفعه یک نفر برایمان انجام می‌داد و ما فقط دغدغه‌ی توسعه محصولاتمان را داشتیم. درست است؟‌

بنابراین تفاوتی ندارد اگر از زبان برنامه‌نویسی PHP, Java, Python و یا JavaScript استفاده می‌کنید، یا اگر در حال توسعه یک اپلیکیشن Android یا Web هستید. ابزار قدرتمند Gitlab CI/CD می‌تواند بسیاری از کارهای تکراری شما را به صورت خودکار انجام دهد.

سرفصل‌های دوره

فصل ۱ - آشنایی با DevOps و Gitlab CI/CD

  1. آشنایی با فرهنگ DevOps
  2. آشنایی با استقرار و تحویل مداوم نرم‌افزار (CI/CD)
  3. چرا از Gitlab CI/CD استفاده کنیم؟
  4. هزینه گیتلب و گیتلب خصوصی
  5. آشنایی با Git و Gitflow  

فصل ۲ – امکانات و ویژگی‌های Gitlab

  1. راه اندازی Gitlab خصوصی روی ابرآروان
  2. تنظیم DNS و SSL سرویس گیت‌لب
  3. User ها و محدودیت دسترسی به گیتلب
  4. تنظیم کلید SSH برای احراز هویت در گیت‌لب
  5. ساخت گروه و پروژه در گیتلب
  6. ساخت Issue و Label در گیتلب
  7. ساخت Milestone در گیتلب

فصل ۳ – مدیریت Gitlab

  1. آپدیت کردن گیتلب
  2. بک آپ گیری از دیتابیس
  3. بازگرداندن بک آپ در سرور گیتلب

فصل ۴ – ادغام و تحویل مداوم نرم افزار با استفاده از Gitlab CI/CD

  1. نصب Gitlab Runner
  2. مکانیزم احراز هویت سرور گیتلب با سایر سرورها 
  3. ساخت یک پروژه داکرایز Python و Django
  4. شناخت فایل های Yaml 
  5. نوشتن اولین فایل Gitlab-CI.yml برای خودکارسازی فرآیندها
  6. بارگذاری مستقیم پروژه روی سرور بدون دخالت دست 
  7. غیرفعال کردن job های Gitlab CI/CD
  8. قابلیت Branching و Merge Request در گیتلب
  9. تنظیمات Merge Request در گیت لب 
  10. پایپ لاین های انحصاری برای یک شعبه کد
  11. راه اندازی Pipeline ادغام و تحویل مداوم پروژه جنگو 
  12. راه اندازی مجدد Pipleline های شکست خورده 
  13. زمان بندی پایپ‌لاین‌های Gitlab CI/CD 
  14. آشنایی با before_script و after_script 
  15. مشاهده نمودار گزارش وضعیت پایپ‌لاین‌ها

 فصل ۵ – پروژه های عملی ادغام و تحویل مداوم نرم‌افزار (CI/CD)

  1. پایپ لاین های چند بخشی و موازی با یک پروژه Python و Django واقعی
  2. راه اندازی CI/CD در JavaScript و یک اپلیکیشن ReactJS 
  3. راهنمای بیلد و دیپلوی خودکار برنامه های Android 
  4. بارگذاری صحیح فایل ها در گیت‌لب خصوصی 
  5. جمع بندی و راهنمای ایجاد CI/CD برای یک برنامه PHP و Laravel و هر نوع برنامه کاربردی

 

پیش نیاز دوره چیست؟

این دوره پیش‌نیازی ندارد و افراد با استفاده از هر زبان برنامه‌نویسی و با هر سطح دانشی می‌توانند از Gitlab CI/CD برای خودکارسازی فرآیندهای تکراری در توسعه نرم‌افزار، استفاده کنند.


کلیدواژه: gitlab گیت لب ci/cd مخزن گیت توسعه نرم افزار یکپارچه سازی پیوسته تحویل مداوم pipeline

لیست قسمت های این دوره:
play_circle_filled
۰۰
معرفی
رایگان
play_circle_filled
۰۱۰۱
آشنایی با فرهنگ DevOps
رایگان
play_circle_filled
۰۱۰۲
آشنایی با استقرار و تحویل مداوم CI/CD
رایگان
play_circle_filled
۰۱۰۳
چرا Gitlab CI؟
رایگان
play_circle_filled
۰۱۰۴
هزینه گیتلب و گیتلب خصوصی
lock ویژه مشترکین
play_circle_filled
۰۱۰۵
آشنایی با Git و Gitflow
lock ویژه مشترکین
play_circle_filled
۰۲۰۱
راه‌اندازی Gitlab خصوصی روی ابرآروان
lock ویژه مشترکین
play_circle_filled
۰۲۰۲
تنظیم DNS و SSL سرویس گیت‌لب
lock ویژه مشترکین
play_circle_filled
۰۲۰۳
User ها و محدودیت دسترسی به گیت‌لب
lock ویژه مشترکین
play_circle_filled
۰۲۰۴
تنظیم کلید SSH برای احرازهویت در گیت‌لب
lock ویژه مشترکین
play_circle_filled
۰۲۰۵
ساخت گروه و پروژه در گیت‌لب
lock ویژه مشترکین
play_circle_filled
۰۲۰۶
ساخت Issue و Label در گیت‌لب
lock ویژه مشترکین
play_circle_filled
۰۲۰۷
ساخت Milestone در گیت‌لب
lock ویژه مشترکین
play_circle_filled
۰۳۰۱
آپدیت کردن گیت‌لب
lock ویژه مشترکین
play_circle_filled
۰۳۰۲
بک آپ گیری از گیت‌لب
lock ویژه مشترکین
play_circle_filled
۰۳۰۳
بازگرداندن بک آپ در سرور گیت‌لب
lock ویژه مشترکین
play_circle_filled
۰۴۰۱
نصب Gitlab Runner
lock ویژه مشترکین
play_circle_filled
۰۴۰۲
مکانیزم احراز هویت سرور گیت‌لب با سایر سرورها
lock ویژه مشترکین
play_circle_filled
۰۴۰۳
ساخت یک پروژه داکرایز Python و Django
lock ویژه مشترکین
play_circle_filled
۰۴۰۴
شناخت فایل های Yaml
lock ویژه مشترکین
play_circle_filled
۰۴۰۵
نوشتن اولین فایل Gitlab-CI.yml برای خودکارسازی فرآیندها
lock ویژه مشترکین
play_circle_filled
۰۴۰۶
بارگذاری مستقیم پروژه روی سرور بدون دخالت دست
lock ویژه مشترکین
play_circle_filled
۰۴۰۷
غیرفعال کردن job های Gitlab CI/CD
lock ویژه مشترکین
play_circle_filled
۰۴۰۸
قابلیت Branching و Merge Request در گیت‌لب
lock ویژه مشترکین
play_circle_filled
۰۴۰۹
تنظیمات Merge Request در گیت‌لب
lock ویژه مشترکین
play_circle_filled
۰۴۱۰
پایپ لاین های انحصاری برای یک شعبه کد
lock ویژه مشترکین
play_circle_filled
۰۴۱۱
راه اندازی پایپ لاین ادغام و تحویل مداوم پروژه جنگو
lock ویژه مشترکین
play_circle_filled
۰۴۱۲
راه اندازی مجدد پایپ لاین های شکست خورده
lock ویژه مشترکین
play_circle_filled
۰۴۱۳
زمان بندی پایپ لاین های Gitlab CI/CD
lock ویژه مشترکین
play_circle_filled
۰۴۱۴
آشنایی با before_script و after_script
lock ویژه مشترکین
play_circle_filled
۰۴۱۵
مشاهده نمودار گزارش وضعیت پایپ‌لاین ها
lock ویژه مشترکین
play_circle_filled
۰۵۰۱
پایپ لاین های چند بخشی و موازی با یک پروژه Python و Django واقعی
lock ویژه مشترکین
play_circle_filled
۰۵۰۲
راه اندازی CI/CD در JavaScript و یک اپلیکیشن ReactJS
lock ویژه مشترکین
play_circle_filled
۰۵۰۳
راهنمای بیلد و دیپلوی خودکار برنامه های Android
lock ویژه مشترکین
play_circle_filled
۰۵۰۴
بارگذاری صحیح فایل ها در گیت‌لب خصوصی
lock ویژه مشترکین
play_circle_filled
۰۵۰۵
جمع بندی و راهنمای ایجاد CI/CD برای یک برنامه PHP و Laravel و هر نوع برنامه کاربردی
lock ویژه مشترکین
دیدگاه ها:
MoGa
مشترک دوره
۲ ماه قبل
reply
سلام. این دوره برای دواپس ها خوبه یا بدرد دولوپرها هم میخوره؟
۲ ماه قبل در پاسخ به MoGa
reply
سلام و درود
فرآیند CI/CD برای دوستانی که در زمینه DevOps فعالیت می‌کنند الزامی هست و برای توسعه دهندگان هم درحال حاضر در دنیا یک الزام است و در ایران هم در آگهی های شغلی می‌بینیم شرکت های بسیاری از توسعه دهندگان خود انتظار دارند به فرآیندهای CI/CD مسلط باشند و بتوانند مسئولیت اجرای بهینه اپلیکیشن در سرورهای عملیاتی را به عهده بگیرند یا بتوانند فرآیندهای تکراری را به صورت خودکار انجام دهند تا تمرکز بیشتری در تولید کدهای باکیفیت داشته باشند.
موفق باشید
۵ روز قبل
reply
تخفیف برای عید فطر ندارید؟
ارسال دیدگاه:
برای ارسال دیگاه باید به سیستم وارد شوید و یا ثبت نام کنید. ثبت نام چند لحظه بیشتر زمان شما را نمیگیرد.