English | Deutsch

CI-Pipelines

Automatisieren Sie die Installation von Abhängigkeiten, den Build und den Run Ihrer App. Dies ist der erste Schritt zur Nutzung von Off-When-Unused Workspaces oder Production Apps.

December 14, 2023 2 Min Lesezeit
CI-Pipelines
CI-Pipelines

Codesphere

From everyone in the Codesphere Team:)

Inhaltsverzeichnis

Eine CI-Pipeline vereinfacht Deployments, indem sie den Prozess der Vorbereitung, des Testens und des Runs Ihrer Anwendung automatisiert. Definieren Sie einfach die Befehle (Schritte), die für jeden Teil ausgeführt werden müssen. Diese Schritte werden ausgeführt, wenn Sie die Pipeline starten oder wenn Ihr Workspace neu gestartet wird.Die CI-Pipeline ist in drei Phasen unterteilt. Die Phasen helfen dabei, den Deployment-Prozess zu organisieren, indem sie zusammengehörige Aufgaben gruppieren.

  • Prepare - Installieren Sie Abhängigkeiten und erstellen Sie Ihren Code nach Updates.
  • Test - Run automatischer Testschritte nach Deployments.
  • Run - Führen Sie den Servercode Ihrer Anwendung aus. Startet automatisch neu, wenn ein Absturz auftritt.

Voraussetzungen

  • Ein Codesphere-Konto
  • Ein Codesphere Workspace

Sie können für jeden Workspace eine eigene CI-Pipeline einrichten. Unsere Vorlagen werden mit einer vordefinierten CI-Pipeline geliefert, die Sie verwenden oder an Ihre Bedürfnisse anpassen können.

Hinzufügen einer CI-Pipeline-Konfiguration zu Ihrem Workspace

Wenn Sie noch keine CI-Pipeline definiert haben, können Sie auf CI-Pipeline klicken, um ein Panel mit einem Button CI-Pipeline definieren zu öffnen. Wenn Sie darauf klicken, wird der Konfigurationseditor geöffnet.

Adding CI pipeline steps

Bearbeiten Sie Ihre CI-Pipeline

Für jede Stufe können Sie mehrere Schritte definieren. Wir empfehlen, aussagekräftige Namen zu vergeben, insbesondere wenn Sie mehrere Schritte pro Stufe hinzufügen. Der Befehl kann alles sein, was Sie auch sonst in einem Terminal ausführen würden.

Längere Skripte auslagern (optional)

Wenn Sie viele und/oder längere Befehle ausführen möchten, können Sie auch Skripte erstellen und sie von der CI-Pipeline aus ausführen lassen, z. B. in unserer WordPress-Vorlage:

command: "./start.sh"

Das Skript start.sh sieht wie folgt aus:

#!/bin/bash

set +e

SCRIPT=$(realpath "$0")
SCRIPTPATH=$(dirname "$SCRIPT")

mkdir -p /tmp/log
mkdir -p /tmp/run

export PHPRC=$SCRIPTPATH/php

if [ ! -f "/tmp/run/php7.4-fpm.pid" ]; then
    echo "Start PHP FPM Service"
    php-fpm7.4 -y $SCRIPTPATH/php/php-fpm.conf
fi

echo "Start nginx on port 3000"
nginx -c $SCRIPTPATH/nginx.conf -g 'daemon off;'

Arbeiten mit der CI-Pipeline

Jetzt, wo die Einrichtung abgeschlossen ist, navigieren Sie zu Ihrer CI-Pipeline, um die Schritte zu sehen.

Run your CI pipeline in Codesphere

Sie können jede Phase auswählen und nach Bedarf ausführen. Wenn Sie größere Änderungen vorgenommen haben, werden Sie wahrscheinlich die Prepare-Phase und, wenn Sie automatisierte Tests definiert haben, die Test-Phase ausführen wollen. Die Run-Phase startet Ihre Anwendung und sorgt dafür, dass sie in Betrieb bleibt, indem sie bei Fehlern automatisch neu gestartet wird, solange sie läuft. Um den Anwendungsserver zu stoppen, beenden Sie die Run-Phase. Jede Stufe zeigt ihre Ausgabe auf der rechten Seite des CI-Pipeline-Panels an.

Gemeinsame Nutzung der Pipeline-Konfiguration in verschiedenen Workspaces

Wenn Sie beabsichtigen, mehrere Codesphere Workspaces aus demselben Repository zu erstellen, z. B. für Staging Environments, kann es zeitsparend sein, die erstellte ci.yml zu Ihrer Versionskontrolle hinzuzufügen. Öffnen Sie dazu einfach ein Terminal, übertragen Sie die ci.yml-Datei und schieben Sie sie in Ihr Remote-Repository. Auf diese Weise verfügt jeder neu erstellte Workspace bereits über eine konfigurierte CI-Pipeline.

git add ci.yml
git commit -m 'Add Codesphere pipeline config'
git push

Über den Autor

CI-Pipelines

Codesphere

From everyone in the Codesphere Team:)

Wir bauen die nächste Generation der Cloud auf, indem wir Infrastruktur und IDE an einem Ort vereinen, einen nahtlosen DevEx ermöglichen und den Bedarf an DevOps-Spezialisten eliminieren.

Weitere Beiträge

Deployment von Landscapes auf Codesphere

Deployment von Landscapes auf Codesphere

Lernen Sie, wie Sie mehrere Dienste, die unabhängig voneinander vertikal und horizontal skaliert werden können, innerhalb eines einzigen Workspace deployen und runen können. Geeignet für das Hosting ganzer Anwendungslandschaften.

Monitoring & Alerting

Monitoring & Alerting

Erfahren Sie, wie Sie auf das in Codesphere integrierte Ressourcen Monitoring zugreifen und die Betriebszeit Ihrer Anwendungen überprüfen können.

Pfadbasiertes Routing

Pfadbasiertes Routing

Erfahren Sie, wie Sie mehrere unabhängige Anwendungen mit einer einzigen Domäne verbinden, indem Sie verschiedene Pfade mit unterschiedlichen Workspaces verknüpfen