2016-05-27 3 views
-1

Ich untersuche den Ansatz der Verwendung von Jenkins, um den Buildprozess auszulösen und die erforderliche Git-Verzweigung in einen Amazon S3-Bucket zu bringen und dann eine AWS Codedeploy-Bereitstellung auszulösen, um sie von dort aus auf den relevanten Instanzen bereitzustellen.Kann ich AWS Codedeploy zusammen mit Jenkins für diesen Anwendungsfall verwenden?

Architektur und Anwendungsfälle

  • Wir haben mehrere EC2-Instanzen hinter einem Load Balancer.
  • Manchmal müssen einige der Instanzen möglicherweise mit einem anderen Git-Zweig bereitgestellt werden (um einige Features zu testen, bevor sie auf allen Instanzen ausgeführt werden und dies möglicherweise bei späteren Bereitstellungen beibehalten werden muss).
  • Während mehrere Git-Zweige über mehrere Instanzen verteilt sind, müssen wir abhängig von ihren aktuellen Verzweigungen möglicherweise weitere Verzweigungen auf ihnen bereitstellen.

Eigenschaften

  • Während des Einsatzes unterstützt werden, die Bereitstellung einige Prüfungen auf jedem einzelnen Fall einer Entfaltungs Gruppe zu tun und die Instanzen angezeigt werden, auf denen das gleiche für die manuelle Bestätigung versagt und dann fragen und verfahren Sie entsprechend. Ich gehe davon aus, dass es eine Möglichkeit gibt, dass eine oder mehrere der Instanzen etwas anderes haben und eine Überprüfung durch eines der Skripte fehlschlägt (mit Bezug auf Optionen in der appspec-Datei). Ich möchte nicht, dass ein Build-Fehler auftritt, aber ich würde gerne einen Bericht darüber im AWS-Bereitstellungs-Dashboard sehen, und es sollte auf manuelle Eingriffe warten, um zu entscheiden, ob ich fortfahren möchte.

  • Bereitstellung, um Intervalle zwischen der Bereitstellung für Batch-Instanzen innerhalb einer einzelnen Bereitstellungsgruppe zu erhalten und eine manuelle Bestätigung anzufordern. Ich kenne diese Funktion bereits. "Deployment Config", die die Anzahl der Instanzen angibt, die gleichzeitig bereitgestellt werden sollen, kann konfiguriert werden - z. Halbzeit. Allerdings warten wir einige Minuten nach der Bereitstellung auf einen Stapel von etwa 10 Boxen, um die Auslastung manuell zu überwachen und fortzufahren, wenn alles in Ordnung ist. Dies geschieht manuell.

+0

@Downvoter, vorsichtig zu erklären? –

Antwort

1

Entschuldigung für die Rückkehr so ​​spät. Einige der angeforderten Funktionen sind nicht direkt verfügbar ATM. Es gibt jedoch indirekte Wege, um sie zu umgehen.

  1. „Manchmal, einige der Instanzen müssen möglicherweise mit einem anderen git Zweig eingesetzt werden (einige Feature testen, bevor sie auf alle Instanzen Ausrollen und diese müssen bei der späteren Einsätzen gehalten werden).“ Sie können unterschiedliche Einsatzgruppen unter der gleichen Anwendung haben für die Test- und Produktionsinstanzen

  2. Es gibt keine Möglichkeit, einen Einsatz in zwischen den Schritten zu pausieren für manuelle Bestätigung zu fragen. Wenn die Überprüfung die Bereitstellung jedoch nicht stoppen soll, können Sie ein sicheres Mindestkriterium für sichere Hosts festlegen und Protokolle von allen Instanzen an Cloud-Überwachung senden, um detaillierte Ergebnisse pro Instanz anzuzeigen.

  3. Es gibt keine Möglichkeit, eine Bereitstellung anzuhalten, nachdem ein Stapel abgeschlossen wurde. Sie können jedoch manuell einen Bake-Zeitraum als Teil der Bereitstellung einführen und die Bereitstellung gegebenenfalls abbrechen.

Es tut mir leid, ich konnte nicht mehr mit Ihrem Anwendungsfall helfen. Aber ich hoffe, das hilft.

Danke

Verwandte Themen