معرفی
امروز، ما راه حل خط لوله CI/CD را بررسی خواهیم کرد. ما به این فرآیند از ثبت یک وظیفه تا کدگذاری و سپس ساختن و استقرار در برنامه مقصد نگاه خواهیم کرد. ما Azure DevOps را بهعنوان پلتفرمی برای همه این فرآیندها بررسی میکنیم و سپس برنامه را در یک سرویس Azure App به عنوان یک برنامه وب مستقر میکنیم.
نمودار مرجع
ما با نمودار ارائه شده توسط مایکروسافت شروع می کنیم. جزئیات در وب سایت مایکروسافت در زیر موجود است ،
اجزای طرح
نمودار با مهندس شروع می شود. این می تواند مهندس DevOps، Scrum Master یا توسعه دهنده باشد. همه کارها و مشکلات در بک لاگ Azure DevOps ذخیره می شوند. این لیستی از تمام ویژگیهای جدید، باگها، پیشرفتها و غیره است که تیم باید روی آنها کار کند. راه حل های دیگر برای این امر شامل پلت فرم JIRA است که برای ذخیره و ردیابی مشکلات استفاده می شود. کد برنامه از Azure Repo گرفته شده است که در درجه اول یک مخزن Git است و توسعه دهنده روی آن کار می کند. پس از تکمیل اصلاح، کد در مخزن ذخیره می شود، عمدتا در شاخه مربوطه ایجاد شده برای کار خاص. هنگامی که کد دوباره در شاخه اصلی ادغام شد، به طور خودکار یک بیلد را در خط لوله ساخت Azure DevOps راه اندازی می کند. در صورت لزوم می توان این فرآیند را به صورت دستی نیز راه اندازی کرد. پس از تکمیل فرآیند ساخت، که می تواند شامل تست نیز باشد، کد از طریق خط لوله انتشار Azure DevOps به سرویس Azure App مستقر می شود. بسته به نیاز، این فرآیند می تواند به صورت دستی یا خودکار نیز راه اندازی شود. کد بیشتر در یک اسلات آزمایشی یا UAT مستقر می شود. در اینجا، تغییرات تست میشوند و اگر همه چیز خوب به نظر برسد، اسلات با اسلات تولید تعویض میشود و تغییرات برای استفاده در تولید آماده میشوند.
همیشه ایده خوبی است که نظارت بر برنامه خود را با استفاده از Application Insights تنظیم کنیم. از اینجا، میتوانیم دادههای بیدرنگ در مورد استفاده، عملکرد و هر مشکلی در برنامه خود جمعآوری کنیم. پس از جمعآوری این موارد، میتوانیم آنها را دوباره در بکلوگ Azure DevOps خود ثبت کنیم و فرآیند را از اول شروع کنیم. این فرآیند بیشتر در اسپرینت های Agile اجرا می شود که در آن تعداد مشخصی از وظایف برای مدت زمان مشخصی به توسعه دهندگان اختصاص داده می شود، به عنوان مثال، دو یا چهار هفته، و این به عنوان چرخه اسپرینت شناخته می شود.
خلاصه
در مقاله امروز، ما به نحوه طراحی یک راه حل خط لوله CI/CD برای برنامه ما که در Microsoft Azure با استفاده از Azure DevOps مستقر شده است، نگاه کردیم. گزینههای جایگزین دیگری مانند اکشنهای GitHub و غیره در دسترس هستند. با این حال، توصیه میکنم از پشته کامل Microsoft و Azure DevOps برای یک برنامه Azure استفاده کنید.