Kontrolliert Software veröffentlichen

Deployment Automatisierung

Mehr Sicherheit und Verlässlichkeit bei der Inbetriebnahme von Software. Automatisierung ist der Schlüssel zu mehr Effizienz und der Minimierung von Fehlerquellen.

Manuell ausgeführte Arbeiten und repetitive Vorgänge, die spezifische Konfigurationen benötigen, sind fehleranfällig und bedeuten bei manueller Ausführung einen hohen zeitlichen Aufwand. «Deployment» meint den Prozess des Bereitstellens einer Software bzw. eines Source Codes auf einem Zielsystem.

Für das Bereitstellen von Plattformen für unsere Kunden verwenden wir definierte Abläufe YAML-Files und Bash-Skripte, die sämtliche Befehle, die für das Deployment der Software sowie das Schliessen von Sicherheitslücken (Patches) und System-Updates notwendig sind, beinhalten. Durch das Mergen von einem Release in einen Zielsystem-Branch, werden die Automatismen getriggert. Damit stellen wir sicher, dass Ihre Applikation optimal und kosteneffizient auf dem Zielsystem eingespielt wird.

In der Regel durchläuft eine Software verschiedene Entwicklungszyklen. Wenn die Software bereit für eine Veröffentlichung (Release) ist, wird sie zunächst auf einem Test- oder Abnahme-Server bereitgestellt und getestet. Dort wird die Software nochmals geprüft und erst danach (automatisch) im Produktivsystem eingespielt. 

Vertrauen Sie auf unsere Expertise, die einen sicheren und reibungslosen Plattformbetrieb garantiert.

Bitbucket Pipelines

Pipelines verwenden wir, um unsere Deployments zu automatisieren. Erfolgt ein Commit auf einen definierten Branch, wird automatisch eine Docker-Instanz auf Pipelines hochgefahren (in einem durch uns definierten Image). Danach werden verschiedene Tests angestossen, die den Build-Prozess erfolgreich passieren müssen. Bei einem erfolgreichen Build, werden weitere Aktionen ausserhalb von Pipelines ausgelöst um die Software auf der gewählten Zielumgebung einzuspielen. Nachfolgend ein Beispiel einer bitbucket-pipelines.yaml Konfigurationen.

image: docker:stable options: max-time: 45 docker: true pipelines: branches: 'staging': - step: deployment: staging script: - echo staging 'production': - step: deployment: production script: - echo production '{master,develop,feature/**,release/**,bugfix/**,hotfix/**,support/**}': - step: name: Behat without Javascript script: - deploy/config_pipelines/pipelines-build.sh docker-compose.yml - docker-compose run -u 1000 --entrypoint deploy/ config_pipelines/ pipelines-behat.sh cloudtec artifacts: - var/log/behat/*.log - var/log/behat/*.png - var/log/behat/*.html - step: name: Behat Javascript only script: - deploy/config_pipelines/pipelines-build.sh docker-compose-with-chrome.yml - docker-compose run -u 1000 --entrypoint deploy/ config_pipelines/ pipelines-behat-javascript-only.sh cloudtec artifacts: - var/log/behat/*.log - var/log/behat/*.png - var/log/behat/*.html definitions: services: docker: memory: 3072