Senior
CI/CD prinsiplərini nə qədər yaxşı başa düşürsünüz?
sobes.tech Süni İntellekt
AI-dan cavab
CI/CD (Davami ilə Birlashma / Davami ilə Təqdimat) proqram təminatının yığılması, sınaqdan keçirilməsi və çatdırılmasının avtomatlaşdırılması təcrübəsidir.
Dərin anlayış aşağıdakılardan ibarətdir:
- Davami ilə Birlashma (CI): dəyişikliklərin ümumi depozitə avtomatik inteqrasiyası, erkən səhvləri aşkar etmək üçün yığma və sınaqların işlədilməsi.
- Davami ilə Təqdimat (CD): yeni versiyaların staging və ya istehsal mühitinə avtomatik buraxılması, sürətli geri alma imkanı ilə.
- Alətlər haqqında bilik (Jenkins, GitLab CI, GitHub Actions, Drone və s.) və layihəyə uyğun pipeline-lərin qurulması bacarığı.
- Etibarlı sınaqlar yazmaq və yığma proseslərini izləmək təcrübəsi.
- İnfrastruktur kimi kod (IaC), konteynerləşdirmə (Docker) və orkestrasiya (Kubernetes) prinsiplərini anlama, yerləşdirməni avtomatlaşdırmaq üçün.
Go layihəsi üçün GitHub Actions-də sadə pipeline nümunəsi:
name: Go CI
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Go-nu qur
uses: actions/setup-go@v2
with:
go-version: 1.18
- name: Yığ
run: go build ./...
- name: Sınaqdan keçir
run: go test ./...
Bu pipeline hər pushda kodu avtomatik yığır və sınaqdan keçir.