Bitbucket Pipelines: Support für Docker-Images und Service-Container für das Datenbank-Testing

Docker bietet einen mächtige Methode, Applikationen als ein Set unabhängiger Micro-Services zu bauen und zu deployen, die skalierbar und stabil sind. Bitbucket Pipelines unterstützt jetzt Docker-Images und Service-Container.

Atlassian entwickelt Bitbucket Pipelines, um Teams in die Lage zu versetzen, ihre Software schneller zu testen und zu deployen. Docker-Container helfen dabei, die Build-Umgebung zu managen. Dadurch, dass sie Build-Server nicht manuell konfigurieren müssen, sparen Teams viel Zeit und Kopfzerbrechen. Stattdessen können sie sich aus der Fülle an öffentlich verfügbaren Containern auf Docker Hub bedienen oder eigene Docker-Images für eine spezifische Build-Umgebung einbringen.

Pitbucket Pipelines nutzen, um Docker-Images zu bauen, zu taggen und zu pushen

Nun können Teams ihre Applikationen als Docker-Container bauen und von der Portabilität und dem minimalen Overhead der Containerisierung profitieren. Es ist nicht nötig, zusätzliche Plugins zu installieren oder einen eigenen Docker-Service z.B. in Jenkins oder anderen Legacy-CI-Systemen laufen zu lassen. Zwei Zeilen in der bitbucket-pipelines.yml reichen zur Aktivierung aus.

Diese nahtlose Docker-Integration eröffnet Bitbucket-Teams ein ganz neues Set an Workflows:

  • Automatisierte Tests durchführen, dann die validierte Anwendung als Docker-Image bauen und sie in eine Container-Registry pushen
  • Ein Docker-Image bauen und in eine Registry pushen, dann manuell eine Pipeline antriggern, um es nach ECS oder Kubernetes zu deployen
  • Mit Service-Containern einen Docker-Service in einer Pipeline bauen, taggen und pushen und ihn dann als Abhängigkeit in einer anderen testen

Damit ist Bitbucket das einzige Werkzeug, das ein Team braucht, um Applikationen in der Cloud zu coden, zu bauen, zu testen und zu deployen. Es deckt den kompletten Lebenszyklus für Entwicklungsteams ab, die mit Micro-Services arbeiten.

Flexibles Container-basiertes Testing dank Service-Containern

Das Aufsetzen von Integrations-Testing mit einer Datenbank oder anderen Abhängigkeiten im Build-Server ist normalerweise mit viel Konfigurationsaufwand verbunden. Vielleicht ist es sogar nötig, zusätzliche Agents zu konfigurieren oder Amazon-AMI-Images zu bauen, um die Abhängigkeiten für den Build in Gang zu bringen. Docker hat das Potenzial, dies mit tausenden Pre-Built-Images für populäre Software wie MySQL und Redis und einer standardisierten Konfiguration durch Umgebungsvariablen deutlich zu vereinfachen.

Service-Container für Bitbucket Pipelines bringen die Möglichkeiten von Docker in die Testumgebungs-Konfiguration ein. Teams können zusätzlich zu ihrem Build-Container bis zu drei Hintergrund-Services in der Pipeline laufen lassen und dabei eigene Docker-Images nutzen oder solche, die auf Docker Hub verfügbar sind. Das macht es einfach, Integrations-Testing mit Datenbanken wie MySQL und PostgreSQL oder anderen gängigen Services wie ElasticSearch oder Memcached aufzusetzen.

Die Funktionsweise von Service-Containern in Pipelines bietet diverse Vorteile:

  • Service-Container werden entlang der Pipeline automatisch gestartet und gestoppt. Das minimiert die erforderliche Konfiguration dieser Services im Vergleich zu anderen Systemen.
  • Alle Container teilen sich dasselbe Netzwerk-Interface, sodass keine Notwendigkeit besteht, Ports zwischen den Builds und Service-Containern zu mappen, wie es in manchen anderen Umgebungen erforderlich ist.
  • Mit Docker Hub und seinen vielen Versionen populärer Open-Source-Services ist das Testen im Hinblick auf unterschiedliche Versionen von Abhängigkeiten in Pipelines viel einfacher als in anderen Build-Systemen, die eigene Images erfordern.

Integrierte Pipelines für Continuous Integration und Delivery (CI/CD) helfen Teams, schneller voranzukommen. Pipelines residiert in der Code-Basis und beseitigt Barrieren zwischen Team, Code und Konfiguration. Teams brauchen nicht auf andere Applikationen zu wechseln oder mit Berechtigungen zu jonglieren und sie müssen keinen Build-Server aufsetzen. Dabei erlaubt die Cloud-Infrastruktur unbegrenzt viele gleichzeitige Builds.

Weiterführende Infos

Sie möchten Atlassian-Tools neu einführen oder Lizenzen verlängern? Sie haben Fragen zu technischen oder organisatorischen Punkten? Als offizieller Atlassian-Vertriebspartner und einer der größten Atlassian Experts Partner weltweit mit Erfahrungen aus hunderten Atlassian-Projekten unterstützen wir Sie gerne bei allen Aspekten rund das gesamte Produktportfolio des australischen Software-Herstellers. Sprechen Sie uns einfach unverbindlich an.

Stimmen von führenden Atlassian-Mitarbeitern über //SEIBERT/MEDIA
Unsere Atlassian-Dienstleistungen im Überblick
//SEIBERT/MEDIA ist Atlassian Platinum Expert
Atlassian-Lizenzen bei //SEIBERT/MEDIA kaufen: Alle Vorteile

Artikel teilen:Share on FacebookTweet about this on TwitterShare on Google+Share on LinkedInEmail this to someonePrint this page