Wprowadzenie do CI/CD na AWS
Automatyzacja wdrożeń na AWS
Dunieski Otano
Amazon Web Services Solutions Architect
Ciągły cykl
Poznaj instruktora
Dlaczego CI/CD jest ważne
Ręczne wdrożenia są wolne i podatne na błędy
Deweloperzy wysyłają kod i czekają, aż ktoś go wdroży
CI/CD automatyzuje drogę od kodu do produkcji
Szybsze wydania, mniej błędów
Cykl życia CI/CD
Source
: kod jest zapisywany w repozytorium
Build
: kod jest kompilowany, instalowane są zależności
Test
: automatyczne testy sprawdzają kompilację
Deploy
: aplikacja zostaje wydana; artefakty przechodzą między etapami
Przegląd usług AWS Code
CodeCommit
: kontrola wersji (repozytorium Git)
CodeBuild
: kompilacja, testowanie i pakowanie
CodeDeploy
: wdrożenie na EC2, Lambda lub ECS
CodePipeline
: koordynuje wszystkie etapy
CI vs Continuous Delivery vs Continuous Deployment
Continuous Integration (CI)
: scalanie, kompilacja i testowanie po każdym wypchnięciu kodu
Continuous Delivery
: automatyczne wdrożenie na staging; ręczna akceptacja dla produkcji
(najczęstszy model)
Continuous Deployment
: każda zaliczona kompilacja trafia na produkcję automatycznie
Jak CodePipeline koordynuje cały proces
CodePipeline łączy etapy w sekwencji
Każdy etap zawiera jedną lub więcej
akcji
Potok uruchamia się automatycznie po zmianach w kodzie źródłowym
Jeśli któryś etap zawiedzie, potok się zatrzymuje
Przykład rzeczywistego potoku
Source
: deweloper wysyła kod do CodeCommit
Build
: CodeBuild uruchamia testy i pakuje ZIP
Staging
: CodeDeploy wdraża na staging
Approval => Production
: kierownik zespołu akceptuje, potem wdraża na produkcję
Czas na praktykę!
Automatyzacja wdrożeń na AWS
Preparing Video For Download...