Wprowadzenie do CI/CD na AWS

Automatyzacja wdrożeń na AWS

Dunieski Otano

Amazon Web Services Solutions Architect

Ciągły cykl

Automatyzacja wdrożeń na AWS

Poznaj instruktora

dunieski-otano-instructor-with-aws-certifications.png

Automatyzacja wdrożeń na AWS

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

 

ci_cd

Automatyzacja wdrożeń na AWS

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

Cykl życia

Automatyzacja wdrożeń na AWS

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

   

 

Obraz usług Code

Automatyzacja wdrożeń na AWS

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

 

three-tier

Automatyzacja wdrożeń na AWS

Jak CodePipeline koordynuje cały proces

cp

  • 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
Automatyzacja wdrożeń na AWS

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ę

 

Przykład rzeczywistego potoku

Automatyzacja wdrożeń na AWS

Czas na praktykę!

Automatyzacja wdrożeń na AWS

Preparing Video For Download...