Мазмунга өтүү

Сабактын башталышы

CI/CD жана жайгаштыруу (deployment)

Жашыл тесттер топтомун иштеп жаткан продакшен-кызматка айландыруу -- автоматтык, коопсуз жана суроо-талаптарды жоготпой.

Негизги идея: үзгүлтүксүз интеграция (CI) ар бир коммит дагы деле линтерден, тесттерден жана курулуштан өткөнүн далилдейт. Үзгүлтүксүз жеткирүү / жайгаштыруу (CD) ошол текшерилген артефактты алып, аны чыныгы чөйрөлөргө жеткирет. Чогуу алар "SSH менен кирип, git pull аткаруу" деген ишенимсиз ырым-жырымды машина ар дайым бирдей аткарган кайталанма конвейерге алмаштырат.
Аягында сиз мыналарды жасай аласыз:
  • классикалык конвейер баскычтарын -- линтер -> тесттер -> курулуш -> жайгаштыруу -- сүрөттөп, тартип эмне үчүн маанилүү экенин түшүнүү;
  • чөйрөлөрдү (dev, staging, production) ажыратып, бир артефактты алар аркылуу өткөрүү;
  • CIдеги сырларды (secrets) репозиторийге эч качан коммит кылбай башкаруу;
  • токтоосуз (zero-downtime) жайгаштырууну түшүндүрүп, rolling, blue-green жана canary стратегияларын салыштыруу;
  • чыныгы GitHub Actions workflow'ун окуп, ар бир кадам эмне бергенин билүү.

1. CI жана CD -- көп чаташтырылган үч термин

Үч тамганын артында үч башка идея жашырынган. Аларды так айырмалоо ар кандай куралды жана колдонмону түшүнүктүү кылат.

  • Үзгүлтүксүз интеграция (CI) -- ар бир push жана ар бир pull request'те автоматтык тапшырма кодду алат, көз карандылыктарды орнотот, линтерди иштетет, тесттерди өткөрөт жана курулуш жасайт. Анын убадасы тар, бирок күчтүү: "main дайыма компиляцияланат жана тесттеринен өтөт."
  • Үзгүлтүксүз жеткирүү (Continuous Delivery, CD) -- ар бир жашыл курулуш автоматтык түрдө жайгаштырууга жарактуу артефактка (Docker образы, tar-архив, версияланган бандл) таңгакталып, stagingге чейин жеткирилет. "Продакшенге чыгаруу" баскычын дагы эле адам басат.
  • Үзгүлтүксүз жайгаштыруу (Continuous Deployment, ошондой эле CD) -- ошол эле, бирок акыркы кадам да автоматтык: main'деги жашыл курулуш адамдын катышуусуз продакшенге чейин жетет.

Көпчүлүк командалар CI плюс жеткирүүнү иштетишет, анан тесттери, мониторинги жана артка кайтаруусу кол менен басууну өткөрүп жиберерлик ишенимдүү болгондо толук жайгаштырууга өтүшөт. Конвейер бирдей; айырмасы акыркы бекитүүдө гана.

Эмне үчүн жалпы эле автоматташтыруу? Кол менен деплой -- жума күнү кечки алтыда чарчаган адам аткарган текшерүү тизмеси. Конвейер -- ошол эле тизмени машина ар дайым бирдей, текшерсе боло турган лог менен аткарат. Ал "менде иштеген" жана "миграцияны унутуп калдым" деген инциденттердин бүтүн классын жоёт.

Бул сабакты YourAIZone платформасында улантыңыз

Толук сабакта — толук түшүндүрмө, чыгарылган мисалдар, көп кездешкен каталар, заматта текшерилүүчү тесттер жана ЖИ-репетитор. Конок катары дароо баштаңыз же прогрессти сактоо үчүн аккаунт түзүңүз.

Толук сабакта

  • Толук түшүндүрмө
  • Чыгарылган мисалдар
  • Көп кездешкен каталар жана алардан кантип качуу керек
  • Тест суроолору: 15
  • Тема боюнча суроолорго жооп берген ЖИ-репетитор
  • Окуучу, ата-эне жана мугалим үчүн прогрессти көзөмөлдөө