دوره های آموزشی آکادمی پی وی لرن (پروژه محور و ویژه بازار کار)



  • ۱۶
  • اردیبهشت

جلسه ۲۸ :ویژگی های پیشرفته CI در گیت لب GitLab

  • دسته‌بندی‌ها :
جلسه ۲۸ :ویژگی های پیشرفته CI در گیت لب GitLab
    • جزئیات
    • نوع محتواآموزشی

      سلام به همه پی وی لرنی های عزیز!
      به دوره آموزشی گیت لب GitLab خوش آمدید.
      گیت لب خدماتی است که امکان دسترسی از راه دور به مخازن Git را فراهم می کند. علاوه بر میزبانی کد شما، این سرویس ویژگی های دیگری را ارائه می دهد که به منظور کمک به مدیریت چرخه توسعه نرم افزار طراحی شده است. این ویژگی های اضافی شامل مدیریت اشتراک گذاری کد بین افراد مختلف، ردیابی اشکال، فضای ویکی و سایر ابزارها برای “برنامه نویسی اجتماعی” یا “social coding” است.
      گیت لب شباهت های زیادی به گیت هاب github دارد و مانند آن حساب‌های میزبانی شده را ارائه می نماید و اجازه اجرا روی میزبانهای ثانویه را نیز می دهد. در دوره آموزش گیت لب GitLab قرار است در طی چندین جلسه شما را با گیت لب و کار با آن آشنا نمایم.
      در جلسه قبل مفصلاً به پیکربندی Runners پرداختیم؛ ا انواع Runners ها یعنی shared runners ها، Specific Runners ها، قفل کردن آن، Protected Runners ها و در نهایت ذخیره Jobs های بدون برچسب یا برچسب نشده به کمک Runners آشنا شدیم.
      این جلسه را به ویژگی های پیشرفته CI اختصاص داده ایم و قرار است با نحوه استفاده از کلید های SSH در CI/CD , اتصال GitLab با یک خوشه Kubernetes , استفاده از برنامه های Triggers , خطوط Triggers در CI گیت لب GitLab،  استفاده از برنامه های Pipeline و چندین ویژگی پیشرفته دیگر در گیت لب آشنا شویم.

      ویژگی های پیشرفته CI در گیت لب GitLab

      بیایید پیش از همه ویژگی ها با Environments و Deployments یا محیط و استقرار CI درگیت لب GitLab آشنا شویم.

      Environments و Deployments – محیط و استقرار

      از Environments ها برای آزمايش، ساخت و استقرار jobs های CI (ادغام مداوم) و كنترل استقرار مداوم نرم افزار با گیت لب GitLab استفاده مي شود. GitLab CI قادر است پروژه های شما را ردیابی کند و نیز شما را در خصوص استقرار سرورتان آگاه نماید.

      نام یک محیط را می توان با استفاده از رشته environment:nam و موارد زیر تعریف کرد.

      • letters
      • digits
      • spaces
      • _
      • /
      • $
      • }
      • {

      نحوه استفاده از کلید های SSH در CI/CD

      برای استفاده از کلید های SHH در CI/CD گیت لب GitLab می توانید کلیدهای (SSH (Secure Shell یا Secure Socket Shell را تنظیم کنید تا یک ارتباط مطمئن بین کامپیوتر و GitLab برقرار شود. از کلیدهای SSH می توانید با استفاده از GitLab CI / CD استفاده نمایید.

      • باید ماژول های فرعی داخلی را بررسی کنید.
      • باید بسته های خصوصی را با استفاده از مدیر بسته بارگیری کنید.
      • باید برنامه ای را روی سرور خود نصب کنید.
      • لازم است دستورات SSH را به سرور از راه دور از ساخت محیط اجرا کنید.
      • لازم است محیط ساخت فایل ها را به یک سرور از راه دور rsync کنید.
      • لازم است تنظیم کلید SSH در بخش تنظیم کلید SSH گیت لب GitLab توضیح داده شود.

      Artifacts ها در CI گیت لب

      Artifacts ها برای پیوست کردن لیست فایل ها و دایرکتوری ها به job به کار می رود. Artifacts ها شامل موارد زیر می شوند.

      • artifacts:name : این دستور برای مشخص کردن نام بایگانی Artifacts های ایجاد شده استفاده می شود. این دستور نامی منحصر به فرد برای بایگانی Artifacts ایجاد شده فراهم می کند که هنگام دانلود بایگانی از گیت لب GitLab مفید است.
      • artifacts:when : این دستور برای بارگذاری Artifacts ها در هنگام عدم موفقیت job به کار می رود و شامل مقادیر زیر است:
        on_success – در بارگذاری موفقیت آمیز job از این مقدار برای بارگذاری Artifacts استفاده می شود.
        on_failure – برای بارگذاری Artifacts در صورت عدم موفقیت job به کار می رود.
        always – برای بارگذاری Artifacts صرف نظر از وضعیت job استفاده می شود.
      • artifacts: expire_in : تعریف می کند که چه مدت Artifacts از آن جا که قبلاً در گیت لب بارگذاری و ذخیره شده اند، باید قبل از انقضا و در نتیجه حذف شوند.

      خطوط Triggers در CI

      Triggers می توانند یک شعبه یا برچسب خاص را مجبور کنند تا با یک تماس API مجدداً ساخته شده و لذا محرک هایی با برچسب legacy به پروژه فعلی دسترسی پیدا کنند.
      یک Triggers جدید را می توان با کمک مراحل زیر افزود.

      مرحله ۱ – به حساب GitLab خود وارد شوید و به پروژه خود بروید.

      ورود به حساب گیت لب GitLab - خطوط Triggers در CI

      ورود به حساب گیت لب GitLab – خطوط Triggers در CI

      مرحله ۲ – بر روی گزینه CI / CD در زیر تنظیمات کلیک کنید و گزینه Pipeline triggers را انتخاب کنید.

      خطوط Triggers در CI - خطوط Triggers در CI

      خطوط Triggers در CI – خطوط Triggers در CI

      توضیحات مربوط به Trigger را وارد کنید و بر روی دکمه Add Trigger کلیک کنید.

      مرحله ۳ – پیام موفقیت آمیز بودن این کار بعد از ایجاد Trigger نمایش داده می شود.

      موفقیت در ایجاد Trigger - خطوط Triggers در CI

      موفقیت در ایجاد Trigger – خطوط Triggers در CI

      مرحله ۴ – حالا به گزینه CI / CD بروید و در تب Settings گزینه Pipeline triggers را انتخاب نمایید. مانند تصویر زیر Trigger جدیدی به همراه توکن نمایش داده می شود.

      نمایش Trigger جدید به همراه توکن - خطوط Triggers در CI

      نمایش Trigger جدید به همراه توکن – خطوط Triggers در CI

      استفاده از برنامه های Pipeline

      می توانید Pipeline را با استفاده Pipeline Schedules یا برنامه های Pipeline در فواصل مشخص اجرا کنید. برای ایجاد Pipeline Schedules مراحل زیر را دنبال نمایید.

      مرحله ۱ – به حساب GitLab خود وارد شوید و به پروژه خود بروید.

      ورود به حساب گیت لب GitLab - خطوط Triggers در CI

      ورود به حساب گیت لب GitLab – استفاده از برنامه های Pipeline

      مرحله ۲ – بر روی گزینه برنامه ها در زیر برگه CI / CD کلیک کرده و بعد بر روی دکمه New schedule کلیک کنید.

      کلیک بر دکمه New schedule - استفاده از برنامه های Pipeline

      کلیک بر دکمه New schedule – استفاده از برنامه های Pipeline

      مرحله ۳ – در این مرحله صفحه Scheduling new pipeline باز می شود، که باید در آن فیلدها را پر کرده و روی دکمه Save pipeline schedule کلیک کنید.

      پر کردن فیلد های لازم - استفاده از برنامه های Pipeline

      پر کردن فیلد های لازم – استفاده از برنامه های Pipeline

      مرحله ۴ – در این مرحله می توانید scheduled جدید ایجاد شده برای Pipeline را ببینید.

      scheduled با موفقیت ایجاد شده است - استفاده از برنامه های Pipeline

      scheduled با موفقیت ایجاد شده است – استفاده از برنامه های Pipeline

      اکنون می توانید به راحتی به استفاده از برنامه های Pipeline بپردازید.

      اتصال GitLab با یک خوشه Kubernetes

      خوشه Kubernetes می تواند برای مرور و استقرار برنامه ها ، اجرای Pipeline و غیره به روشی آسان استفاده شود. با مرتبط کردن حساب GitLab خود با (Google Kubernetes Engine (GKE می توانید یک خوشه جدید برای پروژه خود ایجاد کنید.

      خوشه جدید Kubernetes را می توانید مانند با طی کردن مراحل زیر ایجاد نمایید.

      مرحله ۱ – به حساب GitLab خود وارد شوید و به پروژه خود بروید.

      ورود به حساب گیت لب GitLab - خطوط Triggers در CI

      ورود به حساب گیت لب GitLab – اتصال GitLab با یک خوشه Kubernetes

      مرحله ۲ – بر روی گزینه Kubernetes در تب CI / CD کلیک کنید.

      کلیک روی گزینه Kubernetes در تب CI / CD - اتصال GitLab با یک خوشه Kubernetes

      کلیک روی گزینه Kubernetes در تب CI / CD – اتصال GitLab با یک خوشه Kubernetes

      مرحله ۳ – بعد، روی دکمه Add Kubernetes cluster کلیک کنید.

      کلیک روی دکمه Add Kubernetes cluster - اتصال GitLab با یک خوشه Kubernetes

      کلیک روی دکمه Add Kubernetes cluster – اتصال GitLab با یک خوشه Kubernetes

      مرحله ۴ – بر روی دکمه Create on GKE کلیک کنید تا یک خوشه جدید Kubernetes در Google Kubernetes Engine ایجاد شود.

      کلیک روی دکمه Create on GKE کلیک برای ایجاد یک خوشه جدید Kubernetes در Google Kubernetes Engine - اتصال GitLab با یک خوشه Kubernetes

      کلیک روی دکمه Create on GKE کلیک برای ایجاد یک خوشه جدید Kubernetes در Google Kubernetes Engine – اتصال GitLab با یک خوشه Kubernetes

      مرحله ۵ – اگر یک حساب Google دارید، به وسیله آن به حساب کاربری خود را وارد شوید تا جزئیات مربوط به خوشه Kubernetes را وارد نمایید؛ در غیر این صورت یک حساب Google جدید ایجاد کنید.

      ورود با حساب گوگل - اتصال GitLab با یک خوشه Kubernetes

      ورود با حساب گوگل – اتصال GitLab با یک خوشه Kubernetes

      مرحله ۶ – اکنون مقادیر مربوط به خوشه Kubernetes را در قسمت های مربوطه وارد کنید.

      وارد کردن مقادیر مربوط به خوشه Kubernetes - اتصال GitLab با یک خوشه Kubernetes

      وارد کردن مقادیر مربوط به خوشه Kubernetes – اتصال GitLab با یک خوشه Kubernetes

      مرحله ۷ – قبل از افزودن مقادیر در این زمینه ها، به ID پروژه احتیاج دارید که در کنسول Google Cloud Platform ایجاد شده است تا میزبان خوشه Kubernetes باشد. برای ایجاد ID، روی See your projects که در تصویر قبلی هایلایت شده است، کلیک کنید. صفحه زیر باز خواهد شد، سپس روی منوی My Project کلیک کرده و بر روی آیکون (+)plus کلیک کنید تا یک پروژه جدید ایجاد نمایید.

      دریافت ID که میزبان خوشه Kubernetes است - اتصال GitLab با یک خوشه Kubernetes

      دریافت ID که میزبان خوشه Kubernetes خواهد بود – اتصال GitLab با یک خوشه Kubernetes

      مرحله ۸ – حالا نام پروژه را وارد کنید و بر روی دکمه Create کلیک کنید.

      وارد کردن نام پروژه - اتصال GitLab با یک خوشه Kubernetes

      وارد کردن نام پروژه – اتصال GitLab با یک خوشه Kubernetes

      مرحله ۹ – در این مرحله ID پروژه را که میزبان خوشه Kubernetes است دریافت خواهید کرد.

      دریافت ID پروژه را که میزبان خوشه Kubernetes است - اتصال GitLab با یک خوشه Kubernetes

      دریافت ID پروژه را که میزبان خوشه Kubernetes است – اتصال GitLab با یک خوشه Kubernetes

      مرحله ۱۰ – مقادیر موجود در فیلد های مربوط به خوشه Kubernetes خود را به همراه ID پروژه Google Cloud Platform وارد کنید و بر روی دکمه ایجاد Kubernetes کلیک کنید.

      وارد کردن مقادیر موجود در فیلد های مربوط به خوشه Kubernetes به همراه ID پروژه Google Cloud Platform - اتصال GitLab با یک خوشه Kubernetes

      وارد کردن مقادیر موجود در فیلد های مربوط به خوشه Kubernetes به همراه ID پروژه Google Cloud Platform – اتصال GitLab با یک خوشه Kubernetes

      سخن پایانی

      در این جلسه به بررسی و آشنایی با ویژگی های پیشرفته CI در گیت لب GitLab پرداختیم، این ویژگی ها شامل استفاده از برنامه های Pipeline یا Pipeline Schedules، خطوط Triggers که می توانند یک شعبه یا برچسب خاص را مجبور کنند تا با یک تماس API مجدداً ساخته شده و لذا محرک هایی با برچسب legacy به پروژه فعلی دسترسی پیدا کنند. استفاده از کلید های SSH در CI/CD، ویژگی Environments و Deployments یا محیط و استقرار CI که برای آزمايش، ساخت و استقرار jobs های CI (ادغام مداوم) و كنترل استقرار مداوم نرم افزار با گیت لب GitLab استفاده مي شود. Artifacts ها که برای پیوست کردن لیست فایل ها و دایرکتوری ها به job به کار می رود. و در نهایت ویژگی اتصال GitLab با یک خوشه Kubernetes. ویژگی خوشه Kubernetes می تواند برای مرور و استقرار برنامه ها، اجرای Pipeline و غیره به روشی آسان استفاده شود.
      امیدوارم مطالب موجود در این دوره برای شما مفید واقع شده باشد.
      در جلسه آینده و در ادامه دوره آموزش گیت لب می خواهیم به سراغ Cycle Analytics برویم؛ Cycle Analytics مشخص می کند که تیم برای اتمام هر مرحله از گردش کار چقدر وقت صرف می نماید.
      با پی وی لرن همراه باشید.

      QR:  جلسه ۲۸ :ویژگی های پیشرفته CI در گیت لب GitLab
      به اشتراک بگذارید