ویژگی CI-CD گیتلب چیست ؟
CI/CD گیت لب، ابزاری ست که در گیت لب ساخته شده و از طریق یک سری روش های مداوم نرم افزار ها را توسعه می دهد.
۱- Continuous Integration یا (CI)
۲- Continuous Deployment یا (CD)
CI مخفف عبارت Continuous Integration، به معنی یکپارچه سازی مداوم میباشد. CI ها، با انتقال قطعه کدهای کوچک به پایگاه کد برنامه های میزبانی یا هاست شده در یک مخزن Git، کار میکنند و در هر بار انتقال یکPipeline از اسکریپت ها برای ساخت، تست و معتبرسازی تغییرات کد قبل از merge کردن آنها به branch اصلی، راه اندازی و اجرا میشود.
این متدها به شما اجازه می دهند که باگ و ارور های مربوطه در چرخه توسعه را شناسایی کنید. و بعد اطمینان حاصل پیدا کنید که تمام کدهای توسعه یافته با کدهای استاندارد ایجاد شده در برنامه، مطابقت داشته باشند.
چند مورد از اصطلاحاتی که برای اجرا و توسعه محصولات کاربران در گیت لب CI/CD استفاده می شود به شرح زیر می باشد :
Pipelines : ساختار دهی پروسه های CI/CD از طریق Pipeline ها.
CI/CD variables : استفاده مجدد از متغیرهای مبتنی بر یک جفت کلید variable/value.
Environments : توسعه برنامه های ساخته شده در محیط های مختلفی مثل staging و production.
Job artifacts : خروجی، کاربرد و استفاده مجدد از job artifact ها.
Cache dependencies : کش کردن dependency ها برای داشتن اجرای سریع تر برنامه.
Test cases : پیکربندی PipeLine ها برای اجرای سریع برنامه.
گزینه های پیکربندی گیت لب CI/CD
گیت لب CI/CD، از آپشن و گزینه های پیکربندی زیادی پشتیبانی می کند که به چند مورد از آنها را به طور کلی اشاره می کنیم:
Schedule Pipelines : زمان بندی PipeLine ها برای اجرا در زمان های مورد نیاز.
Git submodules for CI/CD : پیکربندی Job ها برای استفاده از زیر ماژول های گیت.
Custom path for gitlab-ci.yml : تعریف یک مسیر سفارشی برای فایل پیکربندی CI/CD.
Pipeline triggers : همگام کردن PipeLine ها از طریق API.
SSH keys for CI/CD : استفاده از کلیدهای SSH در pipelineهای CI.
Integrate with Kubernetes clusters : اتصال پروژه به موتور kubernetes گوگل (GKE) یا یک kubernetes cluster موجود.
Pipelines for Merge Requests : طراحی یک ساختار pipeline برای اجرای یک pipeline در merge request ها.
برای پیکربندی راحت تر ویژگی ها برای یک سری اهداف خاص، از گیت لب CI/CD گسترده استفاده میشود که در ادامه این ویژگی ها را بر اساس مراحل DevOps به طور خلاصه بررسی میکنیم:
Auto DevOps : تنظیم تمام مراحل برنامه.
Browser Performance Testing : تعیین سریع تاثیر عملکرد مرورگر در تغییرات کد در حال انتظار.
CI services: پیوند یا لینک Docker container ها با تصاویر اصلی.
Code Quality : آنالیز کیفیت سورس کد های برنامه نویسی شده
Auto Deploy : توسعه برنامه به یک محیط تولید درون یک دسته Kubernetes.
Deploy Boards : بررسی سلامت و وضعیت هر محیط CI/CD در حال اجرا در Kubernetes.
GitLab Pages : گسترش وب سایت های استاتیک.
Building Docker images : حفظ پروژه های مبتنی بر داکر با استفاده از گیت لب CI/CD
Dependency Scanning : تحلیل و بررسی dependency ها برای شناسایی نقاط ضعف.
Container Scanning : بررسی Docker container ها برای شناسایی نقاط ضعف.
Security Test reports : بررسی نقاط ضعف برنامه.
License Compliance : جست و جوی مجوزهای dependency ها.
در نهایت به صورت کلی ویژگی CI/CD در گیتلب قابلیت های زیادی را به یک فرد DevOps کار می دهد تا بتواند پروژه های نرم افزاری را بهتر و اصولی تر مدیریت کند.به همین جهت یادگیری و داشتن آگاهی نسبی از ویژگی CI/CD برای افراد DevOps کار از جمله واحبات می باشد.
برای یادگیری این ویژگی بهتر آن است که ابتدا به سراغ یادگیری سیستم کنترل ورژن گیت رفته و بعد از آن به سراغ یادگیری ویژگی CI/CD بروید.
برای دسترسی به آموزش گیت میتوانید از لینک زیر در وبسایت سمی لرن استفاده کنید :
https://b2n.ir/d82616