AWS CodePipeline –Häufig gestellte Fragen

Allgemeines

AWS CodePipeline ist ein Continuous Delivery-Service, mit dem Sie die verschiedenen Phasen für die Veröffentlichung Ihrer Software modellieren, visuell darstellen und automatisieren können. Mit AWS CodePipeline können Sie den vollständigen Release-Prozess für die Entwicklung Ihres Codes modellieren, Vorproduktionsumgebungen bereitstellen, Ihre Anwendung testen und sie zur Produktion freigeben. Anschließend erstellt und testet AWS CodePipeline Ihre Anwendung und stellt sie bereit. Dieser Prozess läuft bei jeder Code-Änderung nach dem definierten Workflow ab. Sie können in jeder Phase des Veröffentlichungsprozesses Partner-Tools oder Ihre eigenen benutzerdefinierten Tools integrieren, um eine umfassende Continuous Delivery-Lösung zu erstellen.

Wenn Sie die Prozesse zur Entwicklung, zum Testen und zur Veröffentlichung automatisieren, können Sie dank AWS CodePipeline die Geschwindigkeit und Qualität Ihrer Software-Updates erhöhen, da alle neuen Änderungen die gleichen Qualitätsprüfungen durchlaufen.

Continuous Delivery (kontinuierliche Bereitstellung) ist eine Softwareentwicklungsmethode, bei der Codeänderungen automatisch erstellt, getestet und für eine Produktionsversion vorbereitet werden. AWS CodePipeline ist ein Service, der Sie beim Continuous Delivery unterstützt. Hier erhalten Sie weitere Informationen zu Continuous Delivery.

Konzepte

Eine Pipeline ist ein Workflow-Konstrukt, das die Software-Änderungen im Laufe des Release-Prozesses beschreibt. Sie definieren den Workflow über eine Abfolge von Phasen und Aktionen.

Eine Revision ist eine Änderung am Quellenstandort, der für Ihre Pipeline definiert ist. Dazu können der Quellcode, die Entwicklungsausgabe, die Konfiguration und Daten gehören. In einer Pipeline können mehrere Revisionen gleichzeitig ablaufen.

Eine Phase ist eine Gruppe aus einer oder mehreren Aktionen. Eine Pipeline kann zwei oder mehr Phasen haben.

Eine Aktion ist eine Aufgabe, die bei der Revision durchgeführt wird. Pipeline-Aktionen treten in einer bestimmte Reihenfolge – seriell oder parallel – auf, die bei der Konfiguration der Phase festgelegt wird. Weitere Informationen finden Sie in den Abschnitten Bearbeiten einer Pipeline und Anforderungen an die Aktionsstruktur in AWS CodePipeline.

Eine Aktion wirkt sich bei ihrer Ausführung auf eine Datei oder einen Satz an Dateien aus. Diese Dateien werden Artefakte genannt. Die Artefakte dienen späteren Aktionen in der Pipeline als Bearbeitungsgrundlage. Bei einer Quellenaktion wird beispielsweise die aktuellste Version des Codes als Quellenartefakt ausgegeben. Dieses wird dann wiederum von der Entwicklungsaktion gelesen. Nach der Kompilierung lädt die Entwicklungsaktion die Entwicklungsausgabe als weiteres Artefakt hoch. Dieses wird von den späteren Bereitstellungsaktionen gelesen.

Die einzelnen Phasen der Pipeline sind durch Übergänge miteinander verbunden. Diese Übergänge werden in der AWS CodePipeline-Konsole als Pfeile dargestellt. Revisionen, die die Aktionen einer Phase erfolgreich abschließen, werden automatisch an die nächste Phase gesendet, was durch den Übergangspfeil angedeutet wird. Übergänge zwischen den Phasen können aktiviert oder deaktiviert sein.

AWS CodePipeline verwenden

Sie können sich in der AWS-Managementkonsole anmelden, eine Pipeline erstellen und den Service sofort verwenden. Eine Einführung in AWS CodePipeline einschließlich ausführlicher Tutorials erhalten Sie in der Dokumentation der Ersten Schritte

Nachdem Sie eine Pipeline erstellt haben, wird die Ausführung automatisch ausgelöst, um das aktuelle Release Ihres Quellcodes zu veröffentlichen. Ab dann wird bei jeder Änderung an Ihrem Quellenstandort eine neue Ausführung ausgelöst. Über die Schaltfläche "Release-Änderung" in der Pipeline-Konsole können Sie die letzte Revision einer Pipeline zudem jederzeit erneut ausführen.

Wenn Sie eine Pipeline beenden möchten, können Sie den Übergang von einer Phase zur nächsten deaktivieren. Nach der Deaktivierung wird die Pipeline die Revisionen in den Aktionen weiterhin ausführen, allerdings werden keine Revisionen über den deaktivieren Übergang an spätere Phasen geleitet. Weitere Informationen finden Sie unter "Übergänge in AWS CodePipeline aktivieren oder deaktivieren".

Ja. Mit der AWS CodePipeline-Konsole oder über AWS CLI können Sie Phasen in einer Pipeline hinzufügen oder entfernen sowie Aktionen in einer Phase hinzufügen, bearbeiten oder entfernen.

Ja. Mit dem AWS CLI-Befehl "get-pipeline" können Sie die JSON-Struktur Ihre bestehenden Pipeline abrufen. Mit dieser JSON-Struktur und dem AWS CLI-Befehl "create-pipeline" können Sie dann eine neue Pipeline mit derselben Struktur wie die bestehende Pipeline erstellen.

Ja. Sie können in jeder Phase eine oder mehrere Aktionen so konfigurieren, dass sie parallel ausgeführt werden.

Wenn Sie die Vorlage AWS Serverless Application Model und die dazugehörigen Dateien in Ihren Quellcode bzw. in Ihr Repository aufnehmen, können Sie auch Updates zu Ihrer serverlosen Anwendung veröffentlichen. Sie können in Ihrer Pipeline mit AWS CodeBuild Ihren Code für die Bereitstellung paketieren. Anschließend können Sie mit AWS CloudFormation-Aktionen einen Änderungssatz erstellen und Ihre serverlose Anwendung bereitstellen. Außerdem können Sie Ihren Workflow um zusätzliche Schritte erweitern (z. B. manuelle Abnahmen oder automatische Tests). Weitere Informationen finden Sie hier.

AWS CodePipeline und AWS CloudFormation geben Ihnen die Möglichkeit, bei kontinuierlicher Bereitstellung Änderungen an Ihren AWS CloudFormation-Stapeln automatisch zu entwickeln und zu testen, bevor sie in die Produktionsstapel eingebunden werden. Dieser Release-Prozess ermöglicht Ihnen, schnell und zuverlässig Änderungen an Ihrer AWS-Infrastruktur vorzunehmen. Sie können Ihren Workflow mit zusätzlichen Aktionen bereichern, z. B. manuellen Abnahmen, Testaktionen oder dem Abrufen von AWS Lambda-Aktionen. Weitere Informationen finden Sie auf der Seite Continuous Delivery mit AWS CloudFormation.

AWS CodePipeline lässt sich mit AWS-Services wie AWS CodeCommit, Amazon S3, AWS CodeBuild, AWS CodeDeploy, AWS Elastic Beanstalk, AWS CloudFormation, AWS OpsWorks, Amazon ECS und AWS Lambda kombinieren. Außerdem lässt sich AWS CodePipeline in eine Reihe von Partnertools integrieren. Weitere Informationen finden Sie auf der Seite Produktintegrationen. Sie können auch Ihre eigenen benutzerdefinierten Aktionen schreiben und sie mit CodePipeline in jedes bestehende Tool integrieren. Weitere Informationen zu benutzerdefinierten Aktionen finden Sie auf der Seite Erstellen und Hinzufügen benutzerdefinierter Aktionen in AWS CodePipeline.

Ja. Um alle Aufrufe der AWS CodePipeline API, die für Ihr Konto erfolgt sind, zur Sicherheitsanalyse und Fehlerbehebung abzurufen, müssen Sie lediglich AWS CloudTrail in der AWS-Managementkonsole aktivieren. Weitere Informationen finden Sie im Abschnitt Protokollierung der AWS CodePipeline API-Aufrufe mithilfe von AWS CloudTrail.

Informationen zu den Service-Limits finden Sie im Abschnitt Limits.

Sie können Benachrichtigungen für Ereignisse erstellen, die sich auf Ihre Pipelines auswirken. Benachrichtigungen erfolgen in Form von Amazon-SNS-Benachrichtigungen. Jede Benachrichtigung enthält eine Statusmeldung sowie einen Link zu den Ressourcen, deren Ereignis diese Benachrichtigung ausgelöst hat. Für Benachrichtigungen fallen keine zusätzlichen Kosten an. Möglicherweise werden Ihnen aber andere AWS-Services in Rechnung gestellt, die von Benachrichtigungen genutzt werden, beispielsweise Amazon SNS. Informationen zu den ersten Schritten mit Benachrichtigungen finden Sie im Benutzerhandbuch für Benachrichtigungen. Zusätzlich können Nutzer von AWS Chatbot Benachrichtigungen konfigurieren, die an ihre Slack-Channels oder Amazon-Chime-Chatrooms gesendet werden. Weitere Informationen finden Sie hier.

Partner

Wenn Sie Interesse daran haben, AWS-Partner zu werden, und Ihren Entwickler-Service mit AWS CodePipeline integrieren möchten, kontaktieren Sie uns unter codepipeline-request@amazon.com.

Sicherheit

Ja. AWS CodePipeline unterstützt Berechtigungen auf Ressourcenebene. Sie können angeben, welche Benutzer welche Aktionen in der Pipeline durchführen können. Sie können einem Benutzer beispielsweise nur Lesezugriff auf eine Pipeline gewähren, wenn Sie möchten, dass er zwar den Status der Pipeline sehen, sie jedoch nicht ändern kann. Sie können auch Berechtigungen für jede Phase oder Aktion in einer Pipeline festlegen. Weitere Informationen zur Verwendung von IAM mit AWS CodePipeline finden Sie in der Referenz zu den Zugriffsberechtigungen.

Ja. Sie können im AWS-Konto, das die Pipeline besitzt, eine IAM-Rolle erstellen, um den Zugriff auf die Pipeline und alle relevanten Ressourcen an einen IAM-Nutzer in einem anderen Konto zu delegieren. Eine ausführliche Anleitung zur Aktivierung dieses kontoübergreifenden Zugriffs finden Sie im Walkthrough Delegieren des Zugriffs in eigenen AWS-Konten mithilfe von IAM-Rollen und Konfigurieren eines kontoübergreifenden Zugriffs innerhalb einer Pipeline.

Regionen

Informationen zur Verfügbarkeit von CodePipeline nach Regionen finden Sie im Abschnitt Regionale Produkte und Services.

Fakturierung

Informationen zu den Gebühren für AWS CodePipeline finden Sie auf der Seite mit der Preisübersicht.