Junior
Ի՞նչ է շարունակական տեղադրումը (continuous deployment):
sobes.tech AI
Պատասխան AI-ից
Կոնտինուս ինտեգրացիա և դելիվեր (CI/CD) — դա ծրագրային ապահովման մշակման մոտեցում է, որի ժամանակ յուրաքանչյուր ավտոմատացված փորձարկման գիծը անցած և հաստատված փոփոխությունը ավտոմատ կերպով տեղադրվում է արտադրական միջավայրում։ Հիմնական տարբերությունը Continuous Delivery-ից՝ ձեռքով հաստատման քայլի բացակայությունն է։
Հիմնական փուլերը՝
- Commit: Զարգացնողը փոփոխություններ է կատարում տարբերակավորման համակարգում (օրինակ՝ Git):
- Build: Ավտոմատ կերպով կառուցվում է արգասիք (պատկեր, փաթեթ և այլն):
- Test: Ավտոմատ փորձարկումների անցկացման (յուրիթ-տեստեր, ինտեգրացիոն, ֆունկցիոնալ, բեռային և այլն):
- Deploy: Եթե բոլոր փորձարկումները հաջող անցան, արգասիքը ավտոմատ կերպով տեղադրվում է աշխատանքային միջավայրում:
Հիմնական բաղադրիչները՝
- Բարձր մակարդակի ավտոմատացում։
- Հուսալի ենթակառուցվածք։
- Կիրառել Կոնտինուս Ինտեգրացիա (CI) և Կոնտինուս Դելիվեր (CD) պրակտիկաներ։
- Մոնիտորինգ և լոգավորում՝ արագ խնդիրների հայտնաբերման համար։
- Արագ հետագիծ։
# GitLab CI/CD-ում մասամբ պայլայնի օրինակ
stages:
- build
- test
- deploy
build_job:
stage: build
script:
- echo "Building the application..."
- # Build commands here
test_job:
stage: test
script:
- echo "Running tests..."
- # Test commands here
only:
- main # Զգում է միայն հիմնական ճյուղի համար
deploy_job:
stage: deploy
script:
- echo "Deploying to production..."
- # Deployment commands here
when: on_success # Տեղադրում միայն նախորդ փուլերը հաջող անցնելու դեպքում
only:
- main
| Առավելություններն | Կամուրջներ |
|---|---|
| Արագ նոր ֆունկցիաներ/շտկումներ թողարկում | Բարձր պահանջներ փորձարկումների որակի համար |
| TTM (Time To Market) կրճատում | Հնարավոր վտանգներ անօգտակար փոփոխությունների տեղադրման համար |
| Հատուկ ռիսկի նվազեցում յուրաքանչյուր տեղադրման ժամանակ | Կոմպլեքս ներդրում առանց հասուն CI/CD գործընթացների |
| Արագ հետադարձ կապ օգտվողներից | Հուսալի մոնիտորինգ և վերականգնման անհրաժեշտություն |