Communardo Software GmbH, Kleiststraße 10 a, D-01129 Dresden

Continuous Integration und Deployment in der Cloud - wie Jira und Bitbucket zusammenarbeiten

Für Continuous Integration & Continuous Deployment stellt Atlassian eine App namens „Bitbucket Pipelines“ bereit, das für alle Bitbucket Cloud-Nutzer unmittelbar zur Verfügung steht.

Integration von Bitbucket in Jira Cloud

Atlassian bie­tet Anwendern an, Jira Cloud in Bitbucket Cloud zu inte­grie­ren. Somit kön­nen Entwickler direkt in Bitbucket Jira-Issues mana­gen und müs­sen nicht stän­dig den Kontext zwi­schen zwei Anwendungen wech­seln. Das ver­ein­facht die Arbeit der Entwickler und ver­bes­sert damit auch die Aktualität der Issues in Jira. Die Zuweisung von Commits zu Issues erfolgt über die Commit-Message. Befindet sich dort der Jira-Issuekey, so erkennt Bitbucket Cloud den Vorgang. Des Weiteren kön­nen auch direkt in Jira Branches für Issues ange­legt wer­den und die jewei­li­gen Commits die­ses Branches nach­ver­folgt werden.

 

Continuous Integration/Continuous Deployment - Automatisierung mit Bitbucket Pipelines

Für Continuous Integration und Continuous Deployment stellt Atlassian eine App namens „Bitbucket Pipelines“ bereit. Diese Erweiterung steht jedem Bitbucket Cloud-Nutzer unmit­tel­bar zur Verfügung. Der Grundgedanke hin­ter Pipelines ist ein Gesamtprozess aus Checkout, Build, Test, Deployment und gege­be­nen­falls wei­te­ren Schritten. Mit Bitbucket Pipelines kann die­ser Build-Prozess mit jedem Commit ange­sto­ßen wer­den. Der Nutzer sieht den Build-Status eines jeden Commits direkt in Bitbucket ein. So kann die Integrität der Commits stets sicher­ge­stellt wer­den. Aber auch Nightly-Builds oder manu­elle Builds und Deployments sind möglich.

Ansicht aller Commits; erkannte Jira-Issues sind im Message-Feld blau hervorgehoben

Die Funktionalität steht stan­dard­mä­ßig für eine Vielzahl an Programmiersprachen (u.a. Java, Python, NodeJS, …) zur Verfügung. Die Konfiguration von Bitbucket Pipelines fin­det in der bitbucket-pipelines.yml statt. Das Vorhandensein die­ser Datei im Root-Verzeichnis eines Repositorys reicht für den Anstoß des Build-Prozess nach jedem Commit bereits aus. Weitere Informationen zu die­ser Konfigurationsdatei sind hier zu finden.

Minimales Beispiel einer Pipeline-Konfiguration

In der obi­gen Abbildung ist ein mini­ma­les Beispiel einer sol­chen Konfigurationsdatei zu sehen. Es wird ein Docker-Container mit einem Apache Maven in der Version 3.3.9 genutzt. Nach einem Commit wird dann ein mini­ma­les Script auf­ge­ru­fen, das mit­tels Maven den Code vali­diert und vor­han­dene Tests durchführt.

Die Pipelines wer­den in der Atlassian-Cloud in Docker Containern aus­ge­führt. Hierbei kom­men Standardcontainer oder eigene Docker-Container zum Einsatz – je nach Konfiguration. Damit kann sehr ein­fach quasi jede belie­bige Build-Umgebung her­ge­stellt wer­den. Atlassian bie­tet in der kos­ten­freien Version der Bitbucket Cloud monat­lich 50 Minuten Build-Zeit an. Diese kann durch kos­ten­pflich­tige Pakete ent­spre­chend ver­län­gert werden.

blank
Ansicht aller Build-Prozesse mit jewei­li­gem Status

Zukünftig ist noch eine Build-Status Integration in Jira-Issues von Atlassian geplant. Dadurch könnte man den aktu­el­len Build-Status eines jeden Jira-Issues im Ticket mit­ver­fol­gen. Diese Funktionalität ist jetzt schon mit Bamboo Server im Zusammenspiel mit Jira mög­lich. Release die­ses Features soll vor­aus­sicht­lich Anfang 2018 statt­fin­den. Weiterführende Informationen sind im Ticket von Atlassian zu finden.

Mit Jira Cloud und Bitbucket Cloud inkl. der Bitbucket-Pipelines ist es sehr ein­fach mög­lich ohne Installation noch heute mit Continuous Integration zu star­ten und das System anschlie­ßend Schritt für Schritt wei­ter Richtung Test und Deployment aus­zu­bauen. Es bie­tet damit auch einen per­fek­ten Start ins DevOps. Für alle Anwender, für die eine Cloud keine Option ist, bie­tet Atlassian die Continuous Integration/Continuous Deployment-Funktionen als Bitbucket Server und Bamboo auch als on-premise Lösung für das eigene Unternehmen an. Wir unter­stüt­zen selbst­ver­ständ­lich bei Einrichtung, Beratung und Installation der Anwendungen, damit auch Ihr Unternehmen die Vorteile von Continuous Integration und Deployment voll aus­schöp­fen kann.

23. November 2017

Pin It on Pinterest