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
Navigieren Sie zu Ihrem 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.
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.
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