صادق شجری
صادق شجری
خواندن ۴ دقیقه·۴ سال پیش

استفاده از pipeline های Azure - اصول و مفاهیم کلیدی (2)

نکته: قبل از شروع مطالعه قسمت دوم، قسمت اول را مشاهده کنید:

https://virgool.io/@msadeqshajary/%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87-%D8%A7%D8%B2-pipeline-%D9%87%D8%A7%DB%8C-azure-%D9%82%D8%B3%D9%85%D8%AA-1-usttbrvxjhce

درک صحیح اصطلاحات بکار رفته و شناخت بخش های Azure Pipelines در استفاده صحیح و اصولی از این ابزار مفید یاری دهنده خواهد بود.

در ابتدا به تصویر زیر دقت کنید:

  • یک trigger به پایپ لاین دستور اجرا می دهد.
  • یک پایپ لاین از یک یا چندین stage ساخته شده است. یک پایپ لاین می تواند در یک یا چند محیط مستقر شود.
  • یک stage، راهی برای سازماندهی job ها در یک پایپ لاین است. هر stage می تواند یک یا چندین job داشته باشد.
  • هر job بر روی یک agent اجرا می شود. همچنین یک job می تواند بدون agent باشد.
  • هر agent یک job را شروع می کند که شامل یک یا چند step است.
  • یک step می تواند یک task یا یک script باشد که این دو، کوچکترین ساختار موجود در پایپ لاین هستند.
  • یک task در واقع یک script از قبل پکیج شده است که یک عمل خاص را اجرا می کند. مانند فراخوانی یک REST API یا انتشار یک build artifact.
  • یک artifact مجموعه ای از فایلها یا پکیج هایی است که توسط یک run منتشر می شوند.

مفهوم Agent

زمانی که Build یا deployment اجرا شد، سیستم یک یا چند job را آغاز می کند. یک Agent در حال محاسبه زیرساخت مورد نیاز (از طریق نصب نرم افزاری که یک job را در هر بار، اجرا می کند) است.

مفهوم Approvals

مجموعه ای از اعتبارسنجی های مورد نیاز یک توزیع را تعریف میکند. approval دستی یک بررسی معمولی است که برای کنترل توزیع ها (deployments) در محیط های production اجرا می شود. زمانی که این بررسی ها در یک محیط پیکربندی شد، پایپ لاین ها تا زمان بررسی موفقیت آمیز همه چک ها،قبل از شروع یک stage متوقف می شود.

مفهوم deployment groups

یک deployment group مجموعه ای از ماشین های مقصد deployment است که دارای agent های نصب شده هستند. می توان گفت یک deployment group تنها گروهی از agent هاست. شما می توانید مجموعه ای از مقاصد deployment را در یک پایپ لاین برای یک job با استفاده از deployment group ها تنظیم کنید.

مفهوم Enviornment

یک Environment (محیط) مجموعه ای از منابع است که می توانید اپلیکیشن خود را در آنجا مستقر کنید. این محیط می تواند شامل یک یا چند ماشین مجازی یا Container ها یا Web App ها یا مجموعه ای از سرویس ها باشد که شما برای میزبانی اپلیکیشنی که در حال توسعه هستید، به آنها نیاز دارید. یک پایپ لاین ممکن است اپ را در یک یا چند محیط بعد از اینکهbuild انجام شد، مستقر گرداند و تست ها را در آنجا روی اپ انجام دهد.

مفهوم Job

یک stage شامل یک یا چندین job است. هر job الزاما در یک agent اجرا می شود. یک job نشان دهنده چگونگی اجرای مجموعه ای از step هاست. تمامی step ها باهم و بر روی agent یکسان اجرا می شوند. برای مثال، ممکن است دو پیکربندی ایجاد کنید، x86 و x64. در این حالت، شما یک build stage و دو job دارید.

مفهوم Run

یک run نشان دهنده یک بار اجرای یک پایپ لاین است. لاگ های مرتبط با اجرای step ها و نتایج تست های اجرا شده را جمع آوری می کند. در زمان Run، پایپ لاین های Azure در ابتدا پایپ لاین را تحلیل می کنند و سپس عملیات run را به یک یا چندین agent اعمال می کنند. هر agent باید job ها را run کند.

مفهوم Script

یک اسکریپت، کدها را بعنوان یک step در پایپ لاین شما از طریق command line اجرا می کند.

مفهوم Stage

یک stage مرزبندی منطقی در پایپ لاین را نشان می دهد. می توان از آن برای متمایز کردن موارد استفاده کرد (مانند Build، QA، و Production). هر stage شامل یک یا چند job است.

مفهوم Step

یک step کوچکترین واحد یک پایپ لاین است. برای مثال یک پایپ لاین ممکن است شامل step های build و test باشد. همچنین می تواند یک script یا task باشد. یک task تنها یک script از پیش ایجاد شده است که برای راحتی شما بوجود آمده. برای مشاهده task های آماده به لینک زیر مراجعه کنید:

https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/?view=azure-devops

مفهوم Trigger

یک Trigger به پایپ لاین می گوید که چه زمانی اجرا شود؟ می توانید اینگونه پیکربندی کنید که پایپ لاین به محض push شدن کدها به ریپازیتوری اجرا شود، یا در زمان های مشخص اجرا شود و ... .

در ادامه و در مقاله بعدی به ایجاد عملی یک پایپ لاین در ریپازیتوی Azure میپردازیم.

azureپایپ لاین
C#/.NET Developer
شاید از این پست‌ها خوشتان بیاید