Ich arbeite mit einem Projekt, das Jenkins verwendet, um Microservices für Elastic Beanstalk zu erstellen und bereitzustellen. Wir stellen einen Integrationszweig in einer Testumgebung bereit, geben Zweige in einer Staging-Umgebung frei und erstellen dann einen endgültigen Master-Build für die Produktion. Ich habe ein paar Bedenken, wenn ich es so mache: Erstens bedeutet dies, dass wir eine Matrix von einem Build pro Projekt und Umgebung erhalten, was die Anstrengungen verdoppelt. und zweitens bedeutet dies, dass wir nicht dieselben Build-Artefakte für die Produktion bereitstellen, die beim Staging validiert wurden.
Ich bin geneigt, Beanstalk aufzugeben und zu einfachen ASGs zu wechseln, die so etwas wie Chef für Bereitstellungen verwenden. Damit hätten wir einen Build pro Projekt, der ein Build-Artefakt erzeugt, und wir könnten dasselbe Artefakt für die Produktion bereitstellen, das für die Bereitstellung genehmigt wurde. Der Übergang hat jedoch nicht unerhebliche Vorlaufkosten. Gibt es eine Möglichkeit, Beanstalk besser zu verwenden, um ein zuverlässigeres und einfacher zu verwaltendes CI / CD zu ermöglichen?
Hinweis : Das Heraufstufen desselben Build-Artefakts ist genau das, was ich tun möchte, aber aus den Dokumenten sehe ich keinen klaren Weg, dies zu tun. Es wird erklärt, wie Sie EB von Ihrer App-Quelle aus bereitstellen, aber nicht, wie Sie eine vorhandene Version in eine andere Umgebung hochstufen, es sei denn, ich habe es geschafft, direkt daran vorbei zu scrollen. Wenn es in EB selbst verfügbar ist, gibt es möglicherweise eine Einschränkung im Jenkins EB-Bereitstellungs-Plugin, die verhindert, dass es speziell in Jenkins ausgeführt wird, aber ich habe überhaupt keine Möglichkeit gesehen, dies zu tun.