Version: 1.89.x (Q2 26)
Gitlab Preview Deployment
Phase 1: Vorbereitung des Accounts
- Setze ein Passwort für deinen Codesphere-Account (erforderlich für den API-Zugriff).
- Hinweis: Falls du dich mit Google/GitHub angemeldet hast, verwende den Link „Passwort vergessen“, um ein eigenes Passwort festzulegen.
- Verbinde deinen GitLab-Account mit Codesphere.
- Aktion: Klicke auf „+ New Workspace“ und wähle „Connect GitLab“, um die Autorisierung durchzuführen.
- Erstelle einen GitLab Project Access Token.
- Scopes: Wähle api.
- Rolle: Wähle Developer.
- Kopieren: Speichere diesen Token sofort; du benötigst ihn für die Secrets.
Phase 2: Konfiguration der GitLab Secrets
- Öffne dein Repository in GitLab.
- Navigiere zu Settings > CI/CD > Variables.
- Füge die folgenden Variablen hinzu (deaktiviere „Protect variable“, falls dein Branch nicht geschützt ist):
CODESPHERE_EMAIL: Deine Codesphere-Login-E-Mail-Adresse.CODESPHERE_PASSWORD: Dein Codesphere-Login-Passwort.CI_ACCESS_TOKEN: Der in Phase 1 erstellte Project Access Token.
Phase 3: Konfiguration der Pipeline
- Erstelle eine
.gitlab-ci.yml-Datei im Root-Verzeichnis deines Repositorys. - Füge die folgende Konfiguration ein:
workflow:
rules:
- if: $CI_PIPELINE_SOURCE == 'merge_request_event'
stages:
- deploy
codesphere-deploy:
image: ghcr.io/codesphere-cloud/codesphere-monorepo/integrations/gitlab-ci:latest
stage: deploy
script:
- node /app/server.js
variables:
ACCESS_TOKEN: $CI_ACCESS_TOKEN
EMAIL: $CODESPHERE_EMAIL
PASSWORD: $CODESPHERE_PASSWORD
TEAM: 'My Team' # ERSETZE dies mit deinem exakten Team-Namen
PLAN: 'Boost' # Optionen: Micro, Boost, Pro
ON_DEMAND: 'true' # 'true' aktiviert den kostensparenden Standby-Modus
ENV: | # Optional: Umgebungsvariablen unten hinzufügen
MY_ENV=test
Phase 4: Deployment & Überprüfung
- Committe und pushe die
.gitlab-ci.yml-Datei. - Öffne einen neuen Merge Request in deinem Repository.
- Prüfe den Kommentarbereich deines Merge Requests.
- Erfolg: Codesphere postet automatisch einen Kommentar mit dem direkten Link zu deinem neuen Preview Deployment.