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



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

جلسه ۲۵ : آشنایی با متغیرهای CI / CD در گیت لب GitLab

  • دسته‌بندی‌ها :
جلسه ۲۵ : آشنایی با متغیرهای CI / CD در گیت لب GitLab
    • جزئیات
    • نوع محتواآموزشی

      سلام به همه پی وی لرنی های عزیز!
      به دوره آموزشی گیت لب GitLab خوش آمدید.
      گیت لب خدماتی است که امکان دسترسی از راه دور به مخازن Git را فراهم می کند. علاوه بر میزبانی کد شما، این سرویس ویژگی های دیگری را ارائه می دهد که به منظور کمک به مدیریت چرخه توسعه نرم افزار طراحی شده است. این ویژگی های اضافی شامل مدیریت اشتراک گذاری کد بین افراد مختلف، ردیابی اشکال، فضای ویکی و سایر ابزارها برای “برنامه نویسی اجتماعی” یا “social coding” است.
      گیت لب شباهت های زیادی به گیت هاب github دارد و مانند آن حساب‌های میزبانی شده را ارائه می نماید و اجازه اجرا روی میزبانهای ثانویه را نیز می دهد. در دوره آموزش گیت لب GitLab قرار است در طی چندین جلسه شما را با گیت لب و کار با آن آشنا نمایم.
      در جلسه گذشته  با استقرار مداوم یا CD در گیت لب GitLab آشنا شدیم؛ CD یا Continuous Deployment در گیت لب GitLab یک سرویس نرم افزاری است که تغییرات هر کد را در تولید قرار می دهد و منجر به استقرار هر روزه تولید می شود.
      در این جلسه به آشنایی با متغیرهای CI / CD در گیت لب GitLab می پردازیم.

      آشنایی با متغیرهای CI / CD در گیت لب GitLab

      برای آشنایی با متغیرهای CI / CD در گیت لب GitLab جدول زیر را ارائه کرده ایم که می تواند خلاصه و مفید شما را با این متغیر ها آشنا نماید.

      NOمتغیرگیت لبRunnerتوضیحات
      ۱CIall۰٫۴مشخص می کند که کار در محیط CI انجام شده است.
      ۲CI_COMMIT_REF_NAME۹٫۰allنام شعبه یا تگ را برای ساخت پروژه تعریف می کند.
      ۳CI_COMMIT_REF_SLUG۹٫۰allاز متغیر $ CI_COMMIT_REF_NAME پایین استفاده می کند که به ۶۳ بایت کاهش می یابد، و فقط ۰-۹ و a-z جایگزین می شود.
      ۴CI_COMMIT_SHA۹٫۰all commit اصلاح شده را برای پروژه ساخته شده را مشخص می کند.
      ۵CI_COMMIT_TAG۹٫۰۰٫۵نام برچسب را commits می کند.
      ۶CI_CONFIG_PATH۹٫۴۰٫۵مسیر فایل پیکربندی CI را مشخص می کند. (مسیر پیش فرض .gitlab-ci.yml است).
      ۷CI_DEBUG_TRACEall۱٫۷ردیابی اشکال زدایی را فعال می کند.
      ۸CI_ENVIRONMENT_NAME۸٫۱۵all نام محیط کار را برای کار تعریف می کند.
      ۹CI_ENVIRONMENT_SLUG۸٫۱۵all این یک نام محیطی است، برای DNS ، URL ها ، برچسب های Kubernetes و غیره مناسب است.
      ۱۰CI_ENVIRONMENT_URL۹٫۳allURL محیط را برای کار تعریف می کند.
      ۱۱CI_JOB_ID۹٫۰allid یا شناسه منحصر به فرد کار فعلی را برای GitLab CI نشان می دهد.
      ۱۲CI_JOB_MANUAL۸٫۱۲allمشخص می کند که کار به صورت دستی آغاز شده است.
      ۱۳CI_JOB_NAME۹٫۰۰٫۵نام کار را در فایل .gitlab-ci.yml تعریف می نماید.
      ۱۴CI_JOB_STAGE۹٫۰۰٫۵نام مرحله رت در فایل .gitlab-ci.yml تعریف می نماید.
      ۱۵CI_JOB_TOKEN۹٫۰۱٫۲این توکن برای تأیید اعتبار با رجیستری Container Registry کیت لب و pipeline های multi-project در هنگام ایجاد محرک ها استفاده می شود.
      ۱۶CI_REPOSITORY_URL۹٫۰all URL را برای کلون کردن مخزن Git مشخص می کند.
      ۱۷CI_RUNNER_DESCRIPTION۸٫۱۰۰٫۵توضیحات را برای runner مشخص می کند.
      ۱۸CI_RUNNER_ID۸٫۱۰۰٫۵id یا شناسه منحصر به فرد را برای استفاده runner فراهم می کند.
      ۱۹CI_RUNNER_TAGS۸٫۱۰۰٫۵ برچسب های runner را تعریف می کند.
      ۲۰CI_RUNNER_VERSIONall۱۰٫۶نسخه GitLab runner کار فعلی را مشخص می کند.
      ۲۱CI_RUNNER_REVISIONall۱۰٫۶ ویرایش GitLab را در مورد کار فعلی مشخص می کند.
      ۲۲CI_PIPELINE_ID۸٫۱۰۰٫۵شناسه منحصر به فرد خط pipeline فعلی را فراهم می کند.
      ۲۳CI_PIPELINE_SOURCE۹٫۳allنحوه استفاده از خط pipeline با استفاده از برخی گزینه ها مانند push، وب ، trigger، برنامه ، API و pipeline را مشخص می کند.
      ۲۴CI_PIPELINE_TRIGGEREDallallمشخص می کند که کار ایجاد شده است.
      ۲۵CI_PIPELINE_SOURCE۱۰٫۰allمنبع خط pipeline مانند push، وب ، trigger، برنامه ، API و pipeline و external را مشخص می کند.
      ۲۶CI_PROJECT_DIRallallمسیر کامل مخزن کلون شده، که کار اجرا می شود را مشخص می کند.
      ۲۷CI_PROJECT_IDallall شناسه منحصر به فرد پروژه فعلی را ارائه می دهد.
      ۲۸CI_PROJECT_NAME۸٫۱۰۰٫۵نام فایل فعلی را ارائه می دهد.
      ۲۹CI_PROJECT_PATH۸٫۱۰۰٫۵نام پروژه را به همراه namespace ارائه می دهد.
      ۳۰CI_PROJECT_URL۸٫۱۰۰٫۵آدرس http را برای بازیابی پروژه ارائه می دهد.
      ۳۱CI_PROJECT_VISIBILITY۱۰٫۳allدید پروژه را چه داخلی ، چه خصوصی و چه عمومی مشخص می کند.
      ۳۲CI_REGISTRY۸٫۱۰۰٫۵آدرس ریجستری Container Registry گیت لب را فقط در صورت فعال بودن Container Registry بر می گرداند.
      ۳۳CI_REGISTRY_IMAGE۸٫۱۰۰٫۵فقط در صورت فعال بودن Container Registry، آدرس Container Registry گیت لب را که به پروژه خاص گره خورده است برمی گرداند.
      ۳۴CI_REGISTRY_PASSWORD۹٫۰all پسورد می تواند برای push کردن containers  به ریجستری Container Registry گیت لب استفاده شود.
      ۳۵CI_REGISTRY_USER۹٫۰all یوزر نیم می تواند برای push کردن containers  به ریجستری Container Registry گیت لب استفاده شود.
      ۳۶CI_SERVERallallمشخص می کند که کار در محیط CI انجام می شود.
      ۳۷CI_SERVER_NAMEallallاسم سرور CI را برای هماهنگی کارها ارائه می دهد.
      ۳۸CI_SERVER_REVISIONallallبرای برنامه ریزی کارها با استفاده از ویرایش GitLab استفاده می شود.
      ۳۹CI_SERVER_VERSIONallallبرای برنامه ریزی کارها با استفاده از نسخه GitLab استفاده می شود.
      ۴۰CI_SHARED_ENVIRONMENTall۱۰٫۱ نشان می دهد که کار در یک محیط مشترک اجرا می شود و در صورت اشتراک در محیط تنظیم می شود.
      ۴۱ARTIFACT_DOWNLOAD_ATTEMPTS۸٫۱۵۱٫۹تعداد تلاش برای بارگیری artifacts running را در یک کار مشخص می کند.
      ۴۲GET_SOURCES_ATTEMPTS۸٫۱۵۱٫۹ تعداد تلاش هایی را برای گرفتن sources running یک کار صورت می گیرد را مشخص می کند.
      ۴۳GITLAB_CIallallمشخص می کند که کار در محیط GitLab CI انجام شده است.
      ۴۴GITLAB_USER_ID۸٫۱۲allشناسه کاربر GitLab را که در حال کار است مشخص می کند.
      ۴۵GITLAB_USER_EMAIL۸٫۱۲all ایمیل کاربر GitLab را که در حال انجام کار است، مشخص می کند.
      ۴۶GITLAB_USER_LOGIN۱۰٫۰all یوزر نیم کاربری که در GitLab در حال انجام کار است، مشخص می کند.
      ۴۷GITLAB_USER_NAME۱۰٫۰all نام واقعی کاربر GitLab را که در حال کار است مشخص می کند.
      ۴۸GITLAB_FEATURES۱۰٫۶allلیست ویژگی های دارای مجوز را برای نمونه و برنامه GitLab فراهم می کند.
      ۴۹RESTORE_CACHE_ATTEMPTS۸٫۱۵۱٫۹ تعداد تلاش های  را که برای بازیابی running ذخیره شده یک کار صورت می پذیرد را تعریف می کند.
      ۵۰CI_DISPOSABLE_ENVIRONMENTall۱۰٫۱کار در در یک محیط یک بار مصرف را مشخص می کند.
      آشنایی با متغیرهای CI / CD در گیت لب GitLab

      آشنایی با متغیرهای CI / CD در گیت لب GitLab

      در ادامه آشنایی با متغیرهای CI / CD در گیت لب GitLab جدول دیگری ارائه کرده ایم که لیست متغیرهای جدید قابل استفاده با نسخه GitLab 9.0 را نشان می دهد.

      S.No.۹٫۰+name
      ۱CI_JOB_ID
      ۲CI_COMMIT_SHA
      ۳CI_COMMIT_TAG
      ۴CI_COMMIT_REF_NAME
      ۵CI_COMMIT_REF_SLUG
      ۶CI_JOB_NAME
      ۷CI_JOB_STAGE
      ۸CI_REPOSITORY_URL
      ۹CI_PIPELINE_TRIGGERED
      ۱۰CI_JOB_MANUAL
      ۱۱CI_JOB_TOKEN

      سخن پایانی

      در این جلسه به آشنایی با متغیرهای CI / CD در گیت لب GitLab پرداختیم و مفصلاً با هر یک از این متغیرها آشنا شدیم.
      در جلسه بعدی با مجوزها CI گیت لب آشنا می شویم.
      با پی وی لرن همراه باشید.

      QR:  جلسه ۲۵ : آشنایی با متغیرهای CI / CD در گیت لب GitLab
      به اشتراک بگذارید