Sobes.tech
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.