Skip to main content

Using environments for deployment

Specify a deployment environment in your workflow.

Hinweis

Auf GitHub gehostete Runner werden aktuell nicht auf GitHub Enterprise Server unterstützt. Weitere Informationen zur geplanten zukünftigen Unterstützung findest Du in der GitHub public roadmap.

About environments

Umgebungen werden verwendet, um ein allgemeines Bereitstellungsziel wie production, staging oder development zu beschreiben. Wenn ein GitHub Actions-Workflow in einer Umgebung bereitgestellt wird, wird die Umgebung auf der Hauptseite des Repositorys angezeigt. Du kannst Umgebungen verwenden, um für die Fortsetzung von Aufträgen eine Genehmigung zu erzwingen, einzuschränken, welche Branches einen Workflow auslösen können, Bereitstellungen mit benutzerdefinierten Bereitstellungsschutzregeln zu schützen oder den Zugriff auf Geheimnisse zu beschränken. Weitere Informationen zum Erstellen von Umgebungen findest du unter Managing environments for deployment.

Each job in a workflow can reference a single environment. Any protection rules configured for the environment must pass before a job referencing the environment is sent to a runner. The job can access the environment's secrets only after the job is sent to a runner.

When a workflow references an environment, the environment will appear in the repository's deployments. For more information about viewing current and previous deployments, see Viewing deployment history.

Using an environment in a workflow

Du kannst eine Umgebung für jeden Auftrag in deinem Workflow angeben. Füge dazu einen jobs.<job_id>.environment-Schlüssel hinzu, gefolgt vom Namen der Umgebung.

Dieser Workflow verwendet beispielsweise eine Umgebung namens production.

name: Deployment

on:
  push:
    branches:
      - main

jobs:
  deployment:
    runs-on: ubuntu-latest
    environment: production
    steps:
      - name: deploy
        # ...deployment-specific steps

Wenn der obige Workflow ausgeführt wird, unterliegt der deployment-Auftrag allen Regeln, die für die production-Umgebung konfiguriert sind. Wenn beispielsweise die Umgebung Prüfer erfordert, wird der Auftrag angehalten, bis einer der Prüfer den Auftrag genehmigt.

Du kannst auch eine URL für die Umgebung angeben. Die angegebene URL wird auf der Seite „Bereitstellungen“ für das Repository angezeigt (Zugriff erfolgt durch Klicken auf Umgebungen auf der Homepage deines Repositorys) und im Visualisierungsdiagramm für die Workflowausführung. Wenn ein Pull Request den Workflow ausgelöst hat, wird die URL auch als Schaltfläche Bereitstellung anzeigen in der Pull Request-Zeitachse angezeigt. Wenn du die Regel „Erfordern erfolgreicher Bereitstellungen vor dem Mergen“ verwendest, wird nur der angegebene name überprüft, auch wenn zudem eine URL angegeben wurde. Weitere Informationen findest du unter Informationen zu geschützten Branches.

name: Deployment

on:
  push:
    branches:
      - main

jobs:
  deployment:
    runs-on: ubuntu-latest
    environment: 
      name: production
      url: http://github.com
    steps:
      - name: deploy
        # ...deployment-specific steps