AWS-CodeBuild-Features

Warum CodeBuild?

AWS CodeBuild ist ein vollständig verwalteter Service für die kontinuierliche Integration. Sie geben lediglich den Speicherort Ihres Quellcodes an und wählen die Build-Einstellungen. CodeBuild führt dann für Sie die Build-Skripts zum Kompilieren, Testen und Verpacken Ihres Codes aus. Sie müssen keine Server bereitstellen und skalieren oder Software installieren, konfigurieren und ausführen.

Erstellen und Testen von Code

CodeBuild führt Ihre Builds in vorkonfigurierten Build-Umgebungen aus, die das Betriebssystem, die Laufzeit der Programmiersprache und die Build-Tools (z. B., Apache Maven, Gradle und npm) für die Ausführung der Task umfassen. Sie müssen lediglich den Speicherort Ihres Quellcodes und die Build-Einstellungen angeben, beispielsweise die erforderliche Build-Umgebung und die auszuführenden Build-Befehle. AWS CodeBuild erstellt Ihren Code und speichert die Artefakte in einem Amazon S3-Bucket. Alternativ können Sie die Artefakte mit einem Build-Befehl auch in ein Artefakt-Repository hochladen. Zum Erstellen, Verwalten und Starten Ihrer Build-Projekte können Sie AWS CodePipeline, die AWS-Managementkonsole, die AWS-CLIs oder die AWS-SDKs verwenden.

AWS CodeBuild stellt Build-Umgebungen für Java, Python, Node.js, Ruby, Go, Android, NET Core für Linux und Docker bereit.

Die vollständige Liste der vorkonfigurierten Build-Umgebungen finden Sie hier.

Mit AWS CodeBuild können Sie auch eigene Build-Umgebungen, wie z. B. für das Microsoft.NET-Framework, verwenden. Die Laufzeit und die Tools für Ihren Build können Sie in einem Docker-Image verpacken und dieses Image in ein öffentliches Docker-Hub-Repository oder in eine Amazon Elastic Container Registry (Amazon ECR) hochladen. Bei der Erstellung eines neuen Build-Projekts brauchen Sie dann nur den Speicherort des Docker-Image anzugeben, damit CodeBuild dieses als Build-Projektkonfiguration verwendet. 

Konfigurierbare Einstellungen

Sie können angeben, welche Befehle CodeBuild ausführen soll, beispielsweise bestimmte Build-Tool-Pakete installieren, Einheitentests ausführen und den Code verpacken. Die Build-Spezifikation ist eine YAML-Datei, mit der Sie die in den einzelnen Build-Phasen auszuführenden Befehle wie auch andere Einstellungen festlegen können. CodeBuild hilft Ihnen beim Einstieg mit Build-Beispielspezifikationen für allgemeine Szenarien (z. B. für Apache Maven, Gradle oder npm).

Siehe Beispieldateien für Build-Spezifikationen

Sie können den Rechentyp auswählen, der am besten zu Ihren Entwicklungsanforderungen passt. Ihnen stehen drei Rechenkapazitäten zur Auswahl, die sich in CPU- und Arbeitsspeicherkontingent unterscheiden. Sie können also mehr CPU und Arbeitsspeicher wählen, wenn Ihre Builds schneller ausgeführt werden sollen oder zur Ausführung eine Mindestmenge an CPU und Arbeitsspeicher erfordern.  CodeBuild unterstützt Linux- und Windows-Betriebssysteme.

Ihre Builds können Sie mit CodeBuild auf verschiedene Weisen starten. Beispielsweise können die Builds in CodeBuild gestartet werden, sobald eine Verbindung mit AWS CodeCommit, GitHub, GitHub Enterprise, Bitbucket oder Amazon Simple Storage Service (Amazon S3) aufgebaut ist. Ebenso können Sie CodeBuild und Ihr Quell-Repository mit AWS CodePipeline verbinden, das bei jeder Festschreibung einer Änderung automatisch einen Build startet.

Allgemeines

Dank on-demand-Computeressourcen und der nutzungsabhängigen Zahlung von AWS CodeBuild können Sie Ihren Code häufiger erstellen und integrieren. Fehler lassen sich so schon frühzeitig im Entwicklungsprozess finden und korrigieren, wenn deren Behebung noch problemlos möglich ist. Durch Quellintegrationen, Build-Befehle oder Jenkins-Integration lässt sich CodeBuild problemlos in bestehende Continuous Integration- und Continuous Delivery-Workflows (CI/CD) integrieren. Zudem gehört CodeBuild einer Familie von AWS Codeservices an, die Ihnen die Nutzung von CI/CD erleichtern. Sie können CodeBuild in CodePipeline, integrieren, das automatisch bei jedem Festschreiben einer Änderung in Ihrem Quell-Repository einen neuen Build erstellt und testet. Diesen CI-Workflow können Sie mit dem Assistenten von CodePipeline erstellen. Sie verbinden dort Ihr Quell-Repository und wählen CodeBuild als Build-Provider aus.

Auch können Sie Ihren CI-Workflow mit CodePipeline problemlos in einen CD-Workflow umwandeln, indem Sie Testtools von Drittanbietern, die Auslastung oder Benutzerschnittstellen testen (z. B. BlazeMeter oder Ghost Inspector) integrieren. Diese Tools werden initiiert, sobald CodeBuild einen Build abgeschlossen hat. Die Bereitstellung auf Ihren Instanzen oder lokalen Servern erfolgt dann mittels der in CodePipeline integrierten Services wie AWS CodeDeploy und AWS Elastic Beanstalk.

Ihre Build-Artefakte werden mit kundenspezifischen Schlüsseln verschlüsselt, die durch den AWS Key Management Service (AWS KMS) verwaltet werden. CodeBuild ist mit AWS Identity and Access Management integriert. Durch differenzierte Kontrollen können Sie daher festlegen, welche Benutzer und AWS-Ressourcen Zugriff auf Ihre Builds haben.

Detaillierte Informationen zu Ihren Builds können Sie in der AWS CodeBuild Console, in der AWS Command Line Interface (AWS CLI), in SDKs und in APIs oder in Amazon CloudWatch anzeigen. CodeBuild zeigt Informationen wie die Startzeit, die Endzeit, den Status und die Commit-ID des Builds. CodeBuild streamt außerdem Build-Metriken und -Protokolle in CloudWatch. Mit CloudWatch können Sie ein anwenderdefiniertes Dashboard erstellen, einen Amazon-CloudWatch-Alarm einrichten, Build-Probleme beheben oder Build-Protokolle ansehen.

Sie können Benachrichtigungen für Ereignisse erstellen, die sich auf Ihre Build-Projekte auswirken. Benachrichtigungen erfolgen in Form von Benachrichtigungen von Amazon Simple Notification Service (Amazon SNS). Jede Benachrichtigung enthält eine Statusmeldung und einen Link zu den Ressourcen, deren Ereignis diese Benachrichtigung ausgelöst hat.