Sobes.tech
Senior

Ինչքան լավ եք հասկանում CI/CD սկզբունքները?

sobes.tech AI

Պատասխան AI-ից

CI/CD (Կոնտինուալ Ինտեգրացիա / Կոնտինուալ Դելիվեր) ծրագրային ապահովման կառուցման, փորձարկման և մատակարարման ավտոմատացման պրակտիկա է:

Խորքային ըմբռնումը ներառում է.

  • Կոնտինուալ Ինտեգրացիա (CI)՝ փոփոխությունների ավտոմատ ինտեգրում ընդհանուր պահոցում, շտապ հայտնաբերման համար կառուցումների և փորձարկումների գործարկում:
  • Կոնտինուալ Դելիվեր (CD)՝ նոր տարբերակների ավտոմատ թողարկում ստեյջինգ կամ արտադրական միջավայրում, արագ վերականգնման հնարավորությամբ:
  • Գործիքների (Jenkins, GitLab CI, GitHub Actions, Drone և այլն) մասին գիտելիք և կարողություն նախագծի համար պիպլայններ կազմաձևելու:
  • Վստահելի փորձարկումներ գրելու և կառուցումների մոնիտորինգի պրակտիկա:
  • Ինֆրակառուցվածք որպես կոդ (IaC), կոնտեյներիզացիա (Docker) և օրգանիզացիա (Kubernetes) սկզբունքների ըմբռնում՝ ավտոմատացման համար:

Go նախագծի համար GitHub Actions-ում պարզ պիպլայնի օրինակ:

name: Go CI
on: [push]
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v2
    - name: Կարգավորել Go
      uses: actions/setup-go@v2
      with:
        go-version: 1.18
    - name: Կառուցել
      run: go build ./...
    - name: Փորձարկել
      run: go test ./...

Այս պիպլայնը ավտոմատ կերպով կառուցում և փորձարկում է կոդը յուրաքանչյուր push-ի ժամանակ։