شروع کار با خطوط لوله برای ادغام مداوم و اجرای GitLab (CI / CD) – CloudSavvy IT


ادغام و اجرای مداوم یا CI / CD فرایند ساده سازی و تسریع توسعه با ساخت و آزمایش خودکار هر تعهد به پروژه شما است. GitLab CI / CD را در خود ادغام می کند git راه حل فوق العاده خوب است و ما به شما نحوه راه اندازی و کار با آن را نشان خواهیم داد.

راه اندازی سرور ساخت (GitLab Runner)

اغلب کامپایل کد می تواند عملیاتی بسیار فشرده باشد. همه زبانها با این مشکل روبرو نیستند ، اما تکمیل یک مجموعه پیچیده برای برخی از زبانها مانند C ++ ممکن است بیش از نیم ساعت طول بکشد. به عنوان مثال ، کروم حتی در سیستم های 12 هسته ای نیز می تواند بیش از یک ساعت طول بکشد ، همانطور که در اینجا در این نمودار توسط GamersNexus نشان داده شده است.

GamersNexus

وقت زیاد است ، بنابراین بسیاری از شرکت ها ترجیح می دهند سرورهای تخصصی برای ساخت ، اغلب دسته ای از سرورها و مدیریت خطوط لوله CI / CD خود بر روی سخت افزار قدرتمند ، داشته باشند.

اگر خود میزبان نیستید و در عوض از راه حل آنلاین SaaS GitLab (gitlab.com) استفاده می کنید ، باید دقیقه CI / CD بپردازید. این لایه رایگان شامل 400 دقیقه CI / CD است که باید برای پروژه های ساده ، به ویژه زبان هایی مانند JS کافی باشد ، جایی که همه چیزهایی که ممکن است لازم باشد اساسی است. npm build. سطوح بالاتر که به ازای هر کاربر کسر می شود ، زمان بسیار بیشتری برای ساخت ارائه می دهد. می توانید مقادیر جاری را در صفحه اطلاعات قیمت گذاری GitLab مشاهده کنید.

در مورد ما ، ما خود میزبان هستیم ، بنابراین باید GitLab Runner را که روی سرور نصب شده و به عنوان یک عامل ساخت پیکربندی شده است ، پیکربندی کنیم. این به صورت باینری و همچنین استقرار Kubernetes در دسترس است ، که می تواند برای مقیاس گذاری خودکار استقرارهای چند سرور ایده آل باشد.

خوشبختانه مراحل نصب ساده است. شما باید پیدا کنید که کدام پرونده باینری را برای میزبان خود نیاز دارید و آن را بارگیری کنید. برای سیستم های مبتنی بر دبیان مانند اوبونتو ، این مورد صدق می کند deb بسته:


curl -LJO "https://gitlab-runner-downloads.s3.amazonaws.com/latest/deb/gitlab-runner_amd64.deb"

و آن را با نصب کنید dpkg:

sudo dpkg -i gitlab-runner_amd64.deb

سپس باید آن را با URL و برچسب موجود در / admin / runners پیکربندی کنید.

sudo gitlab-runner register

از شما خواسته خواهد شد مشخص کنید کدام پیمانکار باید از این دونده استفاده کند. در بیشتر موارد ، می توانید به سادگی از “docker” با تصویر پیش فرض مانند اوبونتو استفاده کنید.

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

sudo gitlab-runner register

سپس باید آن را در لیست مشاهده کنید.

در مورد ما ، یک اشتباه عجیب رخ داده است که در آن دونده شروع نکرده است زیرا /var/lib/gitlab-runner پوشه موجود نیست ایجاد آن بلافاصله مشکل را حل می کند:

sudo mkdir /var/lib/gitlab-runner

باید تنظیمات Runner را باز کرده و نشانگرهای صحیحی را برای Runner تنظیم کنید که با تطبیق فایلهای پیکربندی gitlab-ci.yml گرفته می شود. اگر در عوض با برچسب ها سر و کار ندارید ، می توانید برای دریافت کارهای بدون علامت این کادر را علامت بزنید:

سپس باید پروژه های خود را برای استفاده از این دونده پیکربندی کنید.

برای پروژه خود CI / CD تنظیم کنید

پیکربندی GitLab CI با پرونده ای به نام پروژه شما انجام می شود .gitlab-ci.yml. این برای شروع به طور خودکار استفاده می شود.

مطمئناً پیکربندی دقیق این امر به شدت به شما و نیازهای شما بستگی خواهد داشت. یک مکان خوب برای شروع این است که جستجو کنید دیگران چطور این کار را برای زبان و زمان کار شما انجام داده اند.

به عنوان مثال ، یک تدوین ساده دات نت می تواند با استفاده از پیکربندی مانند موارد زیر انجام شود:

image : microsoft/dotnet:latest

stages:
  - build

before_script:
  - 'dotnet restore'

build:
  stage: build
  script:
    - 'dotnet build'

ابتدا باید تصویر Docker را تنظیم کنیم که GitLab از آن برای ساخت برنامه شما استفاده خواهد کرد. این مهم است زیرا در غیر این صورت محیط دارای زمان اجرا .NET نخواهد بود. بالاتر از همه ، جریان دارد dotnet restore، سپس فرار می کند dotnet build برای ساخت برنامه واقعی.

برای کسب اطلاعات بیشتر در مورد ساختار این پرونده ، می توانید با مستندات GitLab مشورت کنید.

این تعهد هنگامی که با repo شما درگیر شود ، خط لوله اول را تحریک خواهد کرد. می توانید نتایج خط لوله را در CI / CD> Pipelines مشاهده کنید ، در آنجا هر عملکرد را به همراه وضعیت آن مشاهده خواهید کرد.

اگر روی جزئیات کلیک کنید ، می توانید خطاهای موجود در راه اندازی اشتباه را برطرف کنید ، زیرا این کار یک ورودی از کنسول را نگه می دارد.


منبع: khabar-mehman.ir

دیدگاهتان را بنویسید

Comment
Name*
Mail*
Website*