Pracuję z projektem wykorzystującym Jenkinsa do tworzenia i wdrażania mikrousług na Elastic Beanstalk. Wdrażamy gałąź integracji w środowisku testowym, wypuszczamy gałęzie do środowiska pomostowego, a następnie finalną wersję główną do produkcji. Mam kilka obaw związanych z robieniem tego w ten sposób: po pierwsze, oznacza to, że otrzymujemy matrycę jednej kompilacji na projekt na środowisko, powielając wysiłki; a po drugie, oznacza to, że nie wdrażamy tych samych artefaktów kompilacji do produkcji, które zostały sprawdzone podczas przemieszczania.
Skłaniam się do porzucenia Beanstalk i przejścia do zwykłych ASG przy użyciu czegoś takiego jak szef kuchni do wdrożeń. To dałoby nam jedną kompilację na projekt, tworząc artefakt kompilacji, i moglibyśmy wdrożyć ten sam artefakt do produkcji, która została zatwierdzona podczas przygotowywania. Przejście na system wiąże się jednak z niewielkimi kosztami wstępnymi. Czy jest jakiś sposób na lepsze wykorzystanie Beanstalk, które pozwoliłyby na bardziej niezawodne, łatwiejsze w zarządzaniu CI / CD?
Uwaga : Promowanie tego samego artefaktu kompilacji jest dokładnie tym, co chcę zrobić, ale z dokumentów nie widzę żadnego wyraźnego sposobu, aby to zrobić; wyjaśnia, jak wdrożyć do EB ze źródła aplikacji, ale nie jak promować istniejącą wersję w innym środowisku, chyba że udało mi się przewinąć tuż obok niej. Jeśli jest dostępny w samym EB, może istnieć ograniczenie we wtyczce wdrażania Jenkins EB, które uniemożliwia wykonanie go w Jenkins, ale nie widziałem w ogóle sposobu, aby to zrobić.