Build- und Deployment mit Bitbucket Pipelines

Wie man in drei Schritte kostenloses CI/CD in der Cloud aufsetzt

Es gibt aktuell nicht viele kostenlose Angebote um seine eigene closed-source Anwendung kontinuierlich zu bauen bzw. zu verteilen. Atlassian Bitbucket unterstützt kostenlose closed-source git-Repositories und bietet seit kurzem einen freien CI/CD Service mit Bitbucket Pipelines an. Dieser Blog-Post zeigt auf, wie Bitbucket Pipelines funktioniert und wie man in drei Schritten ein CI/CD Build für seine eigene closed-source Anwendung aufbaut.


Bitbucket.org bietet einen kostenlosen CI/CD Service in der Cloud an.

Wie funktioniert Bitbucket Pipelines?


Bitbucket Pipelines baut auf Docker auf. Bitbucket bezieht die Docker Images über den öffentlichen Docker Hub oder über private Repositories.
Die Funktionsweise ist einfach: Gibt es im entsprechenden Branch ein Commit, wird ein Pipelines Build angestossen. Der Build bezieht das angegebene Docker Image aus dem entsprechenden Repository und startet die spezifizierte Build- und Deploy-Logik aus dem bitbucket-pipelines.yml.

Wichtig: Bitbucket stellt bereits ein eigenes Default Docker-Image bereit:
https://hub.docker.com/r/atlassian/default-image/
Dies enthält bereits einige Werkzeuge, wie wget, xvfb, curl, git, java, maven, node, npm, nvm, python, gcc

Benötigt man etwas Zusätzliches (z.B. in adhook.io Fall Bower, bower-npm-resolver, Typescript Transpiler, Typings) kann man einfach ein weiteres (u.U. davon abgeleitetes) Image erstellen.

In drei Schritten zum eigenen CI/CD Build

1. Aktivere Bitbucket Pipelines

Aktiviere Bitbucket Pipelines in den Settings (Settings -> Pipelines -> Settings -> Enable Pipelines)
So überprüft Bitbucket bei einem git-Commit in einem spezifischen Branch, ob ein bitbucket-pipelines.yml (Spezifikation der Build- und Deployment Logik) enthalten ist. Wenn ja, wird ein entsprechender Build ausgelöst.

2. Erstelle die Build & Deployment-Spezifikation

Die Build- und & Deployment-Spezifikation wird in einem sogn. bitbucket-pipelines.yml festgehalten. Beispiele dazu findet man hier.

Tipp: Du kannst unterschiedliche Build-Steps hinterlegen, abhängig vom Branch. Z.B. andere bzw. zusätzliche Build-Steps bei einem Release-Branch gegenüber einem Feature-Branch.

3. Füge die Build-Spezifikation dem Repository hinzu.

Füge das bitbucket-pipelines.yml dem entsprechenden Branch hinzu — fertig!

Anschliessend wird bei jedem Commit im entsprechenden Branch die spezifizierte Build-Logik ausgeführt. Unter Pipelines findest Du die ausgeführten bzw. bereits durchgeführten Builds. Der folgende Screenshot findest Du ein Auszug aus unserem adhook.io Repository:

Alternative zu Bitbucket Pipelines

Kostenlose Alternativen im Bereich CI/CD für closed-source Repositories kenne ich aktuell lediglich Wercker (http://www.wercker.com/, Team wercker).

Feedback & Ergänzungen

Hast Du Feedback, Ergänzungen oder Fragen zu diesem Blog-Post? Ich würde mich freuen!

Veröffentlicht von

Patrick Roos

Patrick Roos

Mag den stetigen Wandel in der Software-Entwicklung und ist immer wieder im Squash-Court anzutreffen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.