Wpis z mikrobloga

chciałbym się trochę pobawić w ci/cd, ale tak trochę naokoło - bez ogarniania stosu narzędzi - i wpadł mi do głowy pewien pomysł:
- kod hostowany na bitbucket
- na AWS przygotowane dwie instancje, nazwijmy je production i build. Pierwsza chodzi non stop, druga uruchamiana tylko wtedy gdy zajdzie potrzeba.
- w momencie wysłania commita do repo, webhookiem uruchamiana jest lambda na AWS, która uruchamia instancję build
- instancja build przy rozruchu pobiera sobie kod z repo, wykonuje jakieś testy, buduje dockerowe obrazy i wrzuca je na AWS ECR (przy czym ta instancja dawałaby info np mailowo czy smsowo o udaniu się/nieudaniu buildu) no i po zakończeniu roboty wywołuje lambdę powiadamiającą o wykonaniu builda
- no i ta lambda restartowałaby instancję production, a ta instancja byłaby skonfigurowana tak że przy każdym uruchomieniu pobiera najświeższe dockerowe obrazy z repo i je uruchamia przez dostarczony docker-compose

to nie żaden poważny projekt, właściwie to grzebię sobie przy inżynierce i zastawiam się jak tu się jeszcze pobawić ( ͡° ͜ʖ ͡°) może to byłaby ciekawa opcja do zrealizowania? warto sobie wdrożyć takie upośledzone ci/cd, czy jak to w #devops się zwie - czy nie warto? może ktoś by podsunął jakąś ideę na co zwrócić uwagę, z czego zrezygnować? ( ͡° ͜ʖ ͡°)

dzięki
#devops #serwery #docker #bitbucket
  • 7
  • Odpowiedz
@Arthes: Bitbucket ma jakieś wsparcie dla CI/CD i pozwala robić takie pipeline'y jak mówisz. Poza tym to dość skomplikowany problem jeśli masz więcej niż jeden commit w drodze. Inna rzecz to na pewno w produkcji musisz rozróżniać przypadkowe od nieprzypadkowych restartów.
  • Odpowiedz