repo sync
This commit is contained in:
12
package-lock.json
generated
12
package-lock.json
generated
@@ -7127,7 +7127,7 @@
|
||||
},
|
||||
"browserify-aes": {
|
||||
"version": "1.2.0",
|
||||
"resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz",
|
||||
"resolved": "http://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz",
|
||||
"integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==",
|
||||
"requires": {
|
||||
"buffer-xor": "^1.0.3",
|
||||
@@ -7161,7 +7161,7 @@
|
||||
},
|
||||
"browserify-rsa": {
|
||||
"version": "4.0.1",
|
||||
"resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz",
|
||||
"resolved": "http://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz",
|
||||
"integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=",
|
||||
"requires": {
|
||||
"bn.js": "^4.1.0",
|
||||
@@ -8627,7 +8627,7 @@
|
||||
},
|
||||
"create-hash": {
|
||||
"version": "1.2.0",
|
||||
"resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz",
|
||||
"resolved": "http://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz",
|
||||
"integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==",
|
||||
"requires": {
|
||||
"cipher-base": "^1.0.1",
|
||||
@@ -8639,7 +8639,7 @@
|
||||
},
|
||||
"create-hmac": {
|
||||
"version": "1.1.7",
|
||||
"resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz",
|
||||
"resolved": "http://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz",
|
||||
"integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==",
|
||||
"requires": {
|
||||
"cipher-base": "^1.0.3",
|
||||
@@ -9354,7 +9354,7 @@
|
||||
},
|
||||
"diffie-hellman": {
|
||||
"version": "5.0.3",
|
||||
"resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz",
|
||||
"resolved": "http://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz",
|
||||
"integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==",
|
||||
"requires": {
|
||||
"bn.js": "^4.1.0",
|
||||
@@ -22183,7 +22183,7 @@
|
||||
},
|
||||
"sha.js": {
|
||||
"version": "2.4.11",
|
||||
"resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz",
|
||||
"resolved": "http://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz",
|
||||
"integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==",
|
||||
"requires": {
|
||||
"inherits": "^2.0.1",
|
||||
|
||||
@@ -10,6 +10,7 @@ redirect_from:
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
enterprise-server: '>=2.22'
|
||||
github-ae: '*'
|
||||
type: overview
|
||||
topics:
|
||||
- Action development
|
||||
@@ -18,10 +19,11 @@ topics:
|
||||
|
||||
{% data reusables.actions.enterprise-beta %}
|
||||
{% data reusables.actions.enterprise-github-hosted-runners %}
|
||||
{% data reusables.actions.ae-beta %}
|
||||
|
||||
### Informationen zu Aktionen
|
||||
|
||||
Zum Erstellen von Aktionen können Sie benutzerdefinierten Code schreiben, der mit Ihrem Repository auf die gewünschte Weise interagiert und sich dabei beispielsweise in die APIs von {% data variables.product.prodname_dotcom %} und in öffentlich zugängliche Drittanbieter-APIs integriert. Mit einer Aktion können Sie beispielsweise npm-Module veröffentlichen, SMS-Nachrichten bei dringenden Problemen senden oder produktionsreifen Code bereitstellen.
|
||||
Zum Erstellen von Aktionen Kannst Du benutzerdefinierten Code schreiben, der mit Deinem Repository auf die gewünschte Weise interagiert und sich dabei beispielsweise in die APIs von {% data variables.product.prodname_dotcom %} und in öffentlich zugängliche Drittanbieter-APIs integriert. Mit einer Aktion können Sie beispielsweise npm-Module veröffentlichen, SMS-Nachrichten bei dringenden Problemen senden oder produktionsreifen Code bereitstellen.
|
||||
|
||||
{% if currentVersion == "free-pro-team@latest" %}
|
||||
You can write your own actions to use in your workflow or share the actions you build with the
|
||||
@@ -42,7 +44,7 @@ Sie können Docker-Container- und JavaScript-Aktionen erstellen. Für Aktionen w
|
||||
|
||||
#### Docker-Containeraktionen
|
||||
|
||||
Docker-Container packen die Umgebung mit dem {% data variables.product.prodname_actions %}-Code. So entsteht eine konsistentere, zuverlässigere Arbeitseinheit, da der Aktionsbenutzer sich nicht um Tools oder Abhängigkeiten kümmern muss.
|
||||
Docker-Container paketieren die Umgebung mit dem {% data variables.product.prodname_actions %}-Code. So entsteht eine konsistentere, zuverlässigere Arbeitseinheit, da der Aktionsbenutzer sich nicht um Tools oder Abhängigkeiten kümmern muss.
|
||||
|
||||
Mit einem Docker-Container können Sie bestimmte Versionen eines Betriebssystems sowie bestimmte Abhängigkeiten, Tools und Code verwenden. Bei Aktionen, die in einer bestimmten Umgebungskonfiguration ausgeführt werden müssen, ist Docker eine ideale Option, da Sie das Betriebssystem und die Tools anpassen können. Wegen der Latenz für das Erstellen und Abrufen des Containers sind Docker-Container-Aktionen langsamer als JavaScript-Aktionen.
|
||||
|
||||
@@ -127,7 +129,7 @@ Schritte:
|
||||
|
||||
#### Verwenden des SHA eines Commits für die Releaseverwaltung
|
||||
|
||||
Each Git commit receives a calculated SHA value, which is unique and immutable. Your action's users might prefer to rely on a commit's SHA value, as this approach can be more reliable than specifying a tag, which could be deleted or moved. However, this means that users will not receive further updates made to the action. {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}You must use a commit's full SHA value, and not an abbreviated value.{% else %}Using a commit's full SHA value instead of the abbreviated value can help prevent people from using a malicious commit that uses the same abbreviation.{% endif %}
|
||||
Each Git commit receives a calculated SHA value, which is unique and immutable. Your action's users might prefer to rely on a commit's SHA value, as this approach can be more reliable than specifying a tag, which could be deleted or moved. However, this means that users will not receive further updates made to the action. {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %}You must use a commit's full SHA value, and not an abbreviated value.{% else %}Using a commit's full SHA value instead of the abbreviated value can help prevent people from using a malicious commit that uses the same abbreviation.{% endif %}
|
||||
|
||||
```yaml
|
||||
Schritte:
|
||||
|
||||
@@ -5,6 +5,7 @@ product: '{% data reusables.gated-features.actions %}'
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
enterprise-server: '>=2.22'
|
||||
github-ae: '*'
|
||||
type: 'tutorial'
|
||||
topics:
|
||||
- 'Action development'
|
||||
@@ -12,12 +13,13 @@ topics:
|
||||
|
||||
{% data reusables.actions.enterprise-beta %}
|
||||
{% data reusables.actions.enterprise-github-hosted-runners %}
|
||||
{% data reusables.actions.ae-beta %}
|
||||
|
||||
### Einführung
|
||||
|
||||
In diesem Handbuch erfahren Sie mehr über die grundlegenden Komponenten, die zum Erstellen und Verwenden einer Aktion für die verwendungsgemäßen zusammengesetzten Ausführungsschritte erforderlich sind. Diese Anleitung fokussiert jene Komponenten, welche zum Paketieren der Aktion benötigt werden. Daher hat der Aktions-Code nur minimale Funktionalität. Die Aktion druckt "Hello World" und dann "Goodbye", oder wenn Sie einen benutzerdefinierten Namen angeben, druckt sie "Hello [who-to-greet]" und dann "Goodbye". Die Aktion ordnet auch eine Zufallszahl der `Zufallszahl` Ausgabevariablen zu und führt ein Skript mit dem Namen `goodbye.sh`aus.
|
||||
In this guide, you'll learn about the basic components needed to create and use a packaged composite run steps action. Diese Anleitung fokussiert jene Komponenten, welche zum Paketieren der Aktion benötigt werden. Daher hat der Aktions-Code nur minimale Funktionalität. The action prints "Hello World" and then "Goodbye", or if you provide a custom name, it prints "Hello [who-to-greet]" and then "Goodbye". The action also maps a random number to the `random-number` output variable, and runs a script named `goodbye.sh`.
|
||||
|
||||
Nachdem Sie dieses Projekt abgeschlossen haben, sollten Sie verstehen, wie Sie Ihre eigene Aktion für zusammengesetzte Ausführungsschritte erstellen und in einem Workflow testen.
|
||||
Once you complete this project, you should understand how to build your own composite run steps action and test it in a workflow.
|
||||
|
||||
### Vorrausetzungen
|
||||
|
||||
@@ -105,7 +107,7 @@ Before you begin, you'll create a {% data variables.product.product_name %} repo
|
||||
|
||||
### Deine Aktion in einem Workflow testen
|
||||
|
||||
Der folgende Workflowcode verwendet die abgeschlossene Hello-World-Aktion, die Sie in "[Erstellen einer Aktionsmetadatendatei](/actions/creating-actions/creating-a-composite-run-steps-action#creating-an-action-metadata-file)" ausgeführt haben.
|
||||
The following workflow code uses the completed hello world action that you made in "[Creating an action metadata file](/actions/creating-actions/creating-a-composite-run-steps-action#creating-an-action-metadata-file)".
|
||||
|
||||
Copy the workflow code into a `.github/workflows/main.yml` file in another repository, but replace `actions/hello-world-composite-run-steps-action@v1` with the repository and tag you created. Darüber hinaus können Sie die Eingabe `who-to-greet` durch Ihren Namen ersetzen.
|
||||
|
||||
@@ -129,4 +131,4 @@ jobs:
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
Klicke in Deinem Repository auf die Registerkarte **Actions** (Aktionen), und wähle die neueste Workflow-Ausführung aus. Die Ausgabe sollte folgendes enthalten: "Hello Mona the Octocat", das Ergebnis des Skripts "Goodbye" und eine Zufallszahl.
|
||||
Klicke in Deinem Repository auf die Registerkarte **Actions** (Aktionen), und wähle die neueste Workflow-Ausführung aus. The output should include: "Hello Mona the Octocat", the result of the "Goodbye" script, and a random number.
|
||||
|
||||
@@ -10,6 +10,7 @@ redirect_from:
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
enterprise-server: '>=2.22'
|
||||
github-ae: '*'
|
||||
type: 'tutorial'
|
||||
topics:
|
||||
- 'Action development'
|
||||
@@ -18,6 +19,7 @@ topics:
|
||||
|
||||
{% data reusables.actions.enterprise-beta %}
|
||||
{% data reusables.actions.enterprise-github-hosted-runners %}
|
||||
{% data reusables.actions.ae-beta %}
|
||||
|
||||
### Einführung
|
||||
|
||||
@@ -32,9 +34,13 @@ Nach dem Abschluss dieses Projekts wirst Du verstehen, wie Du Deine eigene Docke
|
||||
Es wir Dir vielleicht helfen, {% data variables.product.prodname_actions %} Umgebungsvariablen und das Docker-Container-Dateisystem grundlegend zu verstehen:
|
||||
|
||||
- "[Umgebungsvariablen verwenden](/actions/automating-your-workflow-with-github-actions/using-environment-variables)"
|
||||
{% if currentVersion == "github-ae@latest" %}
|
||||
- "[Docker container filesystem](/actions/using-github-hosted-runners/about-ae-hosted-runners#docker-container-filesystem)."
|
||||
{% else %}
|
||||
- "[Virtuelle Umgebungen für {% data variables.product.prodname_dotcom %}](/actions/automating-your-workflow-with-github-actions/virtual-environments-for-github-hosted-runners#docker-container-filesystem)"
|
||||
{% endif %}
|
||||
|
||||
Erstellen Sie zunächst ein GitHub-Repository.
|
||||
Before you begin, you'll need to create a {% data variables.product.prodname_dotcom %} repository.
|
||||
|
||||
1. Erstellen Sie ein neues Repository auf {% data variables.product.product_location %}. Du kannst einen beliebigen Repository-Namen auswählen oder wie in diesem Beispiel „hello-world-docker-action“ verwenden. Weitere Informationen finden Sie unter „[Neues Repository erstellen](/articles/creating-a-new-repository)“.
|
||||
|
||||
@@ -48,7 +54,7 @@ Erstellen Sie zunächst ein GitHub-Repository.
|
||||
|
||||
### Eine Docker-Datei erstellen
|
||||
|
||||
Erstelle im neuen Verzeichnis `hello-world-docker-action` eine neue `Dockerfile`-Datei. Weitere Informationen findest Du unter „[Dockerfile-Support für {% data variables.product.prodname_actions %}](/actions/creating-actions/dockerfile-support-for-github-actions)“.
|
||||
Erstelle im neuen Verzeichnis `hello-world-docker-action` eine neue `Dockerfile`-Datei. For more information, see "[Dockerfile support for {% data variables.product.prodname_actions %}](/actions/creating-actions/dockerfile-support-for-github-actions)."
|
||||
|
||||
**Dockerfile**
|
||||
```dockerfile{:copy}
|
||||
@@ -64,7 +70,7 @@ ENTRYPOINT ["/entrypoint.sh"]
|
||||
|
||||
### Eine Datei für die Metadaten der Aktion erstellen
|
||||
|
||||
Erstellen Sie eine neue `action.yml`-Datei im von Ihnen oben erstellten Verzeichnis `hello-world-docker-action`. Weitere Informationen findest Du unter „[Metadaten-Syntax für {% data variables.product.prodname_actions %}](/actions/creating-actions/metadata-syntax-for-github-actions)“.
|
||||
Erstelle eine neue `action.yml`-Datei im oben von Dir erstellten Verzeichnis `hello-world-docker-action`. Weitere Informationen findest Du unter „[Metadaten-Syntax für {% data variables.product.prodname_actions %}](/actions/creating-actions/metadata-syntax-for-github-actions)“.
|
||||
|
||||
{% raw %}
|
||||
**action.yml**
|
||||
@@ -88,13 +94,13 @@ runs:
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
Diese Metadaten definieren einen `who-to-greet`-Eingabe- und einen `time`-Ausgabeparameter. Um Eingaben an den Docker-Container weiterzugeben, müssen Sie die Eingabe mit `inputs` deklarieren und die Eingabe im Stichwort`args` weitergeben.
|
||||
Diese Metadaten definieren einen `who-to-greet`-Eingabe- und einen `time`-Ausgabeparameter. Um Eingaben an den Docker-Container weiterzugeben, musst Du die Eingabe mit `inputs` deklarieren und die Eingabe im Schlüsselwort`args` weitergeben.
|
||||
|
||||
{% data variables.product.prodname_dotcom %} erstellt basierend auf Ihrem `Dockerfile` ein Image und führt mithilfe dieses Images Befehle in einem neuen Container aus.
|
||||
|
||||
### Aktions-Code schreiben
|
||||
|
||||
Sie können ein beliebiges Docker-Basis-Image und folglich auch eine beliebige Sprache für Ihre Aktion auswählen. Im folgenden Shell-Skriptbeispiel wird die Eingabevariable `who-to-greet` verwendet, um in der Protokolldatei „Hello [who-to-greet]“ auszugeben.
|
||||
Du kannst ein beliebiges Basis-Docker-Image und folglich auch eine beliebige Sprache für Deine Aktion auswählen. Im folgenden Shellskript-Beispiel wird die Eingabevariable `who-to-greet` verwendet, um in der Protokolldatei „Hello [who-to-greet]“ auszugeben.
|
||||
|
||||
Als Nächstes ruft das Skript die aktuelle Zeit ab und legt sie als eine Ausgabevariable fest, die von später in einem Auftrag ausgeführten Aktionen verwendet werden kann. Damit {% data variables.product.prodname_dotcom %} Ausgabevariablen erkennen kann, musst Du einen Workflow-Befehl in einer bestimmten Syntax verwenden: `echo "::set-output name=<output name>::<value>"`. Weitere Informationen findest Du unter „[Workflow-Befehle für {% data variables.product.prodname_actions %}](/actions/reference/workflow-commands-for-github-actions#setting-an-output-parameter)“.
|
||||
|
||||
@@ -122,7 +128,7 @@ Als Nächstes ruft das Skript die aktuelle Zeit ab und legt sie als eine Ausgabe
|
||||
|
||||
Sie können eine README-Datei erstellen, um Person dahingehend zu informieren, wie sie Ihre Aktion verwenden sollen. Eine README ist am hilfreichsten, wenn Sie vorhaben, Ihre Aktion öffentlich freizugeben. Zudem eignet sie sich dafür, Sie oder Ihr Team dahingehend zu erinnern, wie die Aktion verwendet wird.
|
||||
|
||||
Erstelle in Deinem Verzeichnis `hello-world-docker-action` eine Datei `README.md` mit folgenden Informationen:
|
||||
Erstellen Sie in Ihrem Verzeichnis `hello-world-docker-action` eine `README.md`-Datei, welche die folgenden Informationen angibt:
|
||||
|
||||
- Eine ausführliche Beschreibung, was die Aktion bewirkt.
|
||||
- Erforderliche Eingabe- und Ausgabe-Argumente.
|
||||
@@ -177,7 +183,7 @@ Nun sind Sie bereit, Ihre Aktion in einem Workflow zu testen. Wenn eine Aktion i
|
||||
|
||||
#### Beispiel mit einer öffentlichen Aktion
|
||||
|
||||
The following workflow code uses the completed _hello world_ action in the public [`actions/hello-world-docker-action`](https://github.com/actions/hello-world-docker-action) repository. Kopiere den folgenden Workflow-Beispielcode in eine Datei `.github/workflows/main.yml`. Ersetze jedoch `actions/hello-world-docker-action` durch Deinen Repository- und Aktionsnamen. Darüber hinaus können Sie die Eingabe `who-to-greet` durch Ihren Namen ersetzen. {% if currentVersion == "free-pro-team@latest" %}Public actions can be used even if they're not published to {% data variables.product.prodname_marketplace %}. For more information, see "[Publishing an action](/actions/creating-actions/publishing-actions-in-github-marketplace#publishing-an-action)." {% endif %}
|
||||
The following workflow code uses the completed _hello world_ action in the public [`actions/hello-world-docker-action`](https://github.com/actions/hello-world-docker-action) repository. Kopieren Sie den folgenden Workflow-Beispielcode in eine `.github/workflows/main.yml`-Datei. Ersetzen Sie jedoch `actions/hello-world-docker-action` durch Ihren Repository- und Aktionsnamen. Darüber hinaus können Sie die Eingabe `who-to-greet` durch Ihren Namen ersetzen. {% if currentVersion == "free-pro-team@latest" %}Public actions can be used even if they're not published to {% data variables.product.prodname_marketplace %}. For more information, see "[Publishing an action](/actions/creating-actions/publishing-actions-in-github-marketplace#publishing-an-action)." {% endif %}
|
||||
|
||||
{% raw %}
|
||||
**.github/workflows/main.yml**
|
||||
@@ -229,9 +235,9 @@ Jobs:
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
Klicke in Deinem Repository auf die Registerkarte **Actions** (Aktionen), und wähle die neueste Workflow-Ausführung aus. {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}Under **Jobs** or in the visualization graph, click **A job to say hello**. {% endif %}You should see "Hello Mona the Octocat" or the name you used for the `who-to-greet` input and the timestamp printed in the log.
|
||||
Klicke in Deinem Repository auf die Registerkarte **Actions** (Aktionen), und wähle die neueste Workflow-Ausführung aus. {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %}Under **Jobs** or in the visualization graph, click **A job to say hello**. {% endif %}You should see "Hello Mona the Octocat" or the name you used for the `who-to-greet` input and the timestamp printed in the log.
|
||||
|
||||
{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}
|
||||
{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %}
|
||||

|
||||
{% else %}
|
||||

|
||||
|
||||
@@ -10,6 +10,7 @@ redirect_from:
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
enterprise-server: '>=2.22'
|
||||
github-ae: '*'
|
||||
type: 'tutorial'
|
||||
topics:
|
||||
- 'Action development'
|
||||
@@ -18,6 +19,7 @@ topics:
|
||||
|
||||
{% data reusables.actions.enterprise-beta %}
|
||||
{% data reusables.actions.enterprise-github-hosted-runners %}
|
||||
{% data reusables.actions.ae-beta %}
|
||||
|
||||
### Einführung
|
||||
|
||||
@@ -25,13 +27,13 @@ In dieser Anleitung erfährst Du mehr über die grundlegenden Komponenten, die b
|
||||
|
||||
Diese Anleitung verwendet das Node.js Modul des {% data variables.product.prodname_actions %}-Toolkits, um die Entwicklung zu beschleunigen. Weitere Informationen findest Du im Repository [actions/toolkit](https://github.com/actions/toolkit).
|
||||
|
||||
Nach dem Abschluss dieses Projekts sollten Sie verstehen, wie Sie Ihre eigene JavaScript-Aktion erstellen und sie in einem Workflow testen können.
|
||||
Nach dem Abschluss dieses Projekts solltest Du verstehen, wie Du Deine eigene JavaScript-Aktion erstellen und sie in einem Workflow testen kannst.
|
||||
|
||||
{% data reusables.github-actions.pure-javascript %}
|
||||
|
||||
### Vorrausetzungen
|
||||
|
||||
Als Erstes müssen Sie die Anwendung Node.js herunterladen und ein GitHub-Repository erstellen.
|
||||
Als Erstes musst Du die Anwendung Node.js herunterladen und ein GitHub-Repository erstellen.
|
||||
|
||||
1. Lade die Anwendung Node.js 12.x, welche npm enthält, herunter, und installiere sie.
|
||||
|
||||
@@ -55,7 +57,7 @@ Als Erstes müssen Sie die Anwendung Node.js herunterladen und ein GitHub-Reposi
|
||||
|
||||
### Eine Datei für die Metadaten der Aktion erstellen
|
||||
|
||||
Erstelle eine neue Datei `action.yml` im Verzeichnis `hello-world-javascript-action` mit dem folgenden Beispielcode: Weitere Informationen findest Du unter „[Metadaten-Syntax für {% data variables.product.prodname_actions %}](/actions/creating-actions/metadata-syntax-for-github-actions)“.
|
||||
Erstellen Sie eine neue Datei `action.yml` im Verzeichnis `hello-world-javascript-action` mit dem folgenden Beispielcode: Weitere Informationen findest Du unter „[Metadaten-Syntax für {% data variables.product.prodname_actions %}](/actions/creating-actions/metadata-syntax-for-github-actions)“.
|
||||
|
||||
|
||||
**action.yml**
|
||||
@@ -87,22 +89,22 @@ Das Toolkit enthält zudem das Paket [`@actions/github`](https://github.com/acti
|
||||
|
||||
Das Toolkit bietet mehr als die Pakete `core` und `github`. Weitere Informationen findest Du im Repository [actions/toolkit](https://github.com/actions/toolkit).
|
||||
|
||||
Installieren Sie an Ihrem Terminal die Pakete `core` und `github` des Toolkits für Aktionen.
|
||||
Installiere an Deinem Terminal die Pakete `core` und `github` des Toolkits für Aktionen.
|
||||
|
||||
```shell
|
||||
npm install @actions/core
|
||||
npm install @actions/github
|
||||
```
|
||||
|
||||
Nun sollte das Verzeichnis `node_modules` mit den soeben von Ihnen installierten Modulen und die Datei `package-lock.json` mit den installierten Modulabhängigkeiten sowie die Version des jeweils installierten Moduls angezeigt werden.
|
||||
Nun sollte das Verzeichnis `node_modules` mit den soeben von Dir installierten Modulen und die Datei `package-lock.json` mit den installierten Modulabhängigkeiten sowie die Version des jeweils installierten Moduls angezeigt werden.
|
||||
|
||||
### Aktions-Code schreiben
|
||||
|
||||
Diese Aktion verwendet das Toolkit, um die in der Metadatendatei der Aktion erforderliche Eingabevariable `who-to-greet` abzurufen, und gibt „Hello [who-to-greet]“ im Protokoll in einer Debugging-Meldung aus. Als Nächstes ruft das Skript die aktuelle Zeit ab und legt sie als eine Ausgabevariable fest, die von später in einem Auftrag ausgeführten Aktionen verwendet werden kann.
|
||||
|
||||
GitHub Actions stellt Kontextinformationen zum Webhook-Ereignis, zu den Git-Refs, zum Workflow, zur Aktion und zur Person bereit, die den Workflow ausgelöst hat. Um auf die Kontextinformationen zuzugreifen, können Sie das Paket `github` verwenden. Die Aktion, die Sie schreiben, druckt die Nutzlast des Webhook-Ereignisses in das Protokoll.
|
||||
GitHub Actions stellt Kontextinformationen zum Webhook-Ereignis, zu den Git-Refs, zum Workflow, zur Aktion und zur Person bereit, die den Workflow ausgelöst hat. Um auf die Kontextinformationen zuzugreifen, kannst Du das Paket `github` verwenden. The action you'll write will print the webhook event payload to the log.
|
||||
|
||||
Fügen Sie eine neue Datei mit der Bezeichnung `index.js` mit dem folgenden Code hinzu.
|
||||
Füge eine neue Datei mit der Bezeichnung `index.js` mit dem folgenden Code hinzu.
|
||||
|
||||
**index.js**
|
||||
```javascript
|
||||
@@ -260,9 +262,9 @@ Jobs:
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
Klicke in Deinem Repository auf die Registerkarte **Actions** (Aktionen), und wähle die neueste Workflow-Ausführung aus. {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}Under **Jobs** or in the visualization graph, click **A job to say hello**. {% endif %}You should see "Hello Mona the Octocat" or the name you used for the `who-to-greet` input and the timestamp printed in the log.
|
||||
Klicke in Deinem Repository auf die Registerkarte **Actions** (Aktionen), und wähle die neueste Workflow-Ausführung aus. {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %}Under **Jobs** or in the visualization graph, click **A job to say hello**. {% endif %}You should see "Hello Mona the Octocat" or the name you used for the `who-to-greet` input and the timestamp printed in the log.
|
||||
|
||||
{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}
|
||||
{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %}
|
||||

|
||||
{% elsif currentVersion ver_gt "enterprise-server@2.22" %}
|
||||

|
||||
|
||||
@@ -8,11 +8,13 @@ redirect_from:
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
enterprise-server: '>=2.22'
|
||||
github-ae: '*'
|
||||
type: reference
|
||||
---
|
||||
|
||||
{% data reusables.actions.enterprise-beta %}
|
||||
{% data reusables.actions.enterprise-github-hosted-runners %}
|
||||
{% data reusables.actions.ae-beta %}
|
||||
|
||||
### Informationen zu Dockerfile-Anweisungen
|
||||
|
||||
|
||||
@@ -10,15 +10,17 @@ redirect_from:
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
enterprise-server: '>=2.22'
|
||||
github-ae: '*'
|
||||
---
|
||||
|
||||
{% data reusables.actions.enterprise-beta %}
|
||||
{% data reusables.actions.enterprise-github-hosted-runners %}
|
||||
{% data reusables.actions.ae-beta %}
|
||||
|
||||
{% link_in_list /about-actions %}
|
||||
{% link_in_list /creating-a-docker-container-action %}
|
||||
{% link_in_list /creating-a-javascript-action %}
|
||||
%link_in_list /creating-a-composite-run-steps-action %"
|
||||
{% link_in_list /creating-a-composite-run-steps-action %}
|
||||
{% link_in_list /metadata-syntax-for-github-actions %}
|
||||
{% link_in_list /dockerfile-support-for-github-actions %}
|
||||
{% link_in_list /setting-exit-codes-for-actions %}
|
||||
|
||||
@@ -11,11 +11,13 @@ redirect_from:
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
enterprise-server: '>=2.22'
|
||||
github-ae: '*'
|
||||
type: reference
|
||||
---
|
||||
|
||||
{% data reusables.actions.enterprise-beta %}
|
||||
{% data reusables.actions.enterprise-github-hosted-runners %}
|
||||
{% data reusables.actions.ae-beta %}
|
||||
|
||||
### Informationen zur YAML-Syntax für {% data variables.product.prodname_actions %}
|
||||
|
||||
@@ -41,7 +43,7 @@ Aktionsmetadatendateien verwenden die YAML-Syntax. Wenn Sie bislang noch nicht m
|
||||
|
||||
#### Beispiel
|
||||
|
||||
In diesem Beispiel werden zwei Eingaben konfiguriert: „numOctocats“ und „octocatEyeColor“. Die Eingabe „numOctocats“ ist nicht erforderlich und entspricht standardmäßig dem Wert „1“. Die Eingabe „octocatEyeColor“ ist erforderlich und weist keinen Standardwert auf. Workflow-Dateien, die diese Aktion einsetzen, müssen das Stichwort `with` verwenden, um für „octocatEyeColor“ einen Eingabewert festzulegen. Weitere Informationen zu `with`-Syntax finden Sie unter „[Workflow-Syntax für {% data variables.product.prodname_actions %}](/articles/workflow-syntax-for-github-actions/#jobsjob_idstepswith)“.
|
||||
In diesem Beispiel werden zwei Eingaben konfiguriert: „numOctocats“ und „octocatEyeColor“. Die Eingabe „numOctocats“ ist nicht erforderlich und entspricht standardmäßig dem Wert „1“. Die Eingabe „octocatEyeColor“ ist erforderlich und weist keinen Standardwert auf. Workflow-Dateien, die diese Aktion einsetzen, müssen das Stichwort `with` verwenden, um für „octocatEyeColor“ einen Eingabewert festzulegen. Weitere Informationen zur `with`-Syntax findest Du unter „[Workflow-Syntax für {% data variables.product.prodname_actions %}](/articles/workflow-syntax-for-github-actions/#jobsjob_idstepswith)“.
|
||||
|
||||
```yaml
|
||||
inputs:
|
||||
@@ -54,7 +56,7 @@ inputs:
|
||||
required: true
|
||||
```
|
||||
|
||||
Wenn Sie eine Eingabe für eine Aktion in einer Workflow-Datei angeben oder einen Standardeingabewert verwenden, erstellt {% data variables.product.prodname_dotcom %} eine Umgebungsvariable für die Eingabe mit dem Namen `INPUT_<VARIABLE_NAME>`. Die erstellte Umgebungsvariable wandelt Eingabenamen in Großbuchstaben um und ersetzt Leerzeichen durch `_`-Zeichen.
|
||||
Wenn Du eine Eingabe für eine Aktion in einer Workflow-Datei angibst oder einen Standardeingabewert verwendest, erstellt {% data variables.product.prodname_dotcom %} eine Umgebungsvariable für die Eingabe mit dem Namen `INPUT_<NAME_DER_VARIABLEN>`. Die erstellte Umgebungsvariable wandelt Eingabenamen in Großbuchstaben um und ersetzt Leerzeichen durch `_`-Zeichen.
|
||||
|
||||
Wenn beispielsweise ein Workflow die Eingaben „numOctocats“ und „octocatEyeColor“ definiert hat, kann der Aktionscode die Werte für die Eingaben mithilfe der Umgebungsvariablen `INPUT_NUMOCTOCATS` and `INPUT_OCTOCATEYECOLOR` lesen.
|
||||
|
||||
@@ -119,7 +121,7 @@ runs:
|
||||
|
||||
#### `outputs.<output_id>.value`
|
||||
|
||||
**Erforderliche** Der Wert, dem der Ausgabeparameter zugeordnet wird. Sie können dies auf eine `Zeichenfolge` oder einen Ausdruck mit Kontext festlegen. Sie können z. B. die `Schritte` Kontext verwenden, um den `Wert` einer Ausgabe auf den Ausgabewert eines Schritts festzulegen.
|
||||
**Required** The value that the output parameter will be mapped to. You can set this to a `string` or an expression with context. For example, you can use the `steps` context to set the `value` of an output to the output value of a step.
|
||||
|
||||
For more information on how to use context and expression syntax, see "[Context and expression syntax for {% data variables.product.prodname_actions %}](/actions/reference/context-and-expression-syntax-for-github-actions)".
|
||||
|
||||
@@ -196,19 +198,19 @@ In diesem Beispiel läuft `cleanup.js` nur auf Linux-basierten Runnern:
|
||||
|
||||
### `runs` for composite run steps actions
|
||||
|
||||
**Erforderliche** Konfiguriert den Pfad zur zusammengesetzten Aktion und die Anwendung, die zum Ausführen des Codes verwendet wird.
|
||||
**Required** Configures the path to the composite action, and the application used to execute the code.
|
||||
|
||||
#### `runs.using`
|
||||
|
||||
**Erforderliche** Um eine Aktion für zusammengesetzte Ausführungsschritte zu verwenden, legen Sie diese auf `"zusammengesetzte"`fest.
|
||||
**Required** To use a composite run steps action, set this to `"composite"`.
|
||||
|
||||
#### `runs.steps`
|
||||
|
||||
**Erforderliche** Die Ausführungsschritte, die Sie in dieser Aktion ausführen möchten.
|
||||
**Required** The run steps that you plan to run in this action.
|
||||
|
||||
##### `runs.steps[*].run`
|
||||
|
||||
**Erforderliche** Der Befehl, den Sie ausführen möchten. Dies kann inline oder ein Skript in Ihrem Aktions-Repository sein:
|
||||
**Required** The command you want to run. This can be inline or a script in your action repository:
|
||||
|
||||
{% raw %}
|
||||
```yaml
|
||||
@@ -246,7 +248,7 @@ For more information, see "[`github context`](/actions/reference/context-and-exp
|
||||
|
||||
##### `runs.steps[*].env`
|
||||
|
||||
**Optional** Sets a `map` of environment variables for only that step. If you want to modify the environment variable stored in the workflow, use {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %}`echo "{name}={value}" >> $GITHUB_ENV`{% else %}`echo "::set-env name={name}::{value}"`{% endif %} in a composite run step.
|
||||
**Optional** Sets a `map` of environment variables for only that step. If you want to modify the environment variable stored in the workflow, use {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %}`echo "{name}={value}" >> $GITHUB_ENV`{% else %}`echo "::set-env name={name}::{value}"`{% endif %} in a composite run step.
|
||||
|
||||
##### `runs.steps[*].working-directory`
|
||||
|
||||
@@ -296,7 +298,7 @@ runs:
|
||||
|
||||
#### `runs.image`
|
||||
|
||||
**Erforderlich** Das Docker-Image, das als Container zum Ausführen der Aktion verwendet werden soll. Der Wert kann der Name des Docker-Basis-Images sein, eine lokale `Dockerdatei` in Deinem Repository, oder ein öffentliches Image im Docker-Hub oder in einer anderen Registry. Um eine lokale `Dockerdatei` innerhalb Deines Repositorys zu referenzieren, gibst Du einen Pfad relativ zur Metadaten-Datei Deiner Aktion an. Die `Docker`-Anwendung wird diese Datei ausführen.
|
||||
**Erforderlich** Das Docker-Image, das als Container zum Ausführen der Aktion verwendet werden soll. Der Wert kann der Name des Docker-Basis-Images sein, eine lokale `Dockerdatei` in Deinem Repository, oder ein öffentliches Image im Docker-Hub oder in einer anderen Registry. To reference a `Dockerfile` local to your repository, the file must be named `Dockerfile` and you must use a path relative to your action metadata file. Die `Docker`-Anwendung wird diese Datei ausführen.
|
||||
|
||||
#### `runs.env`
|
||||
|
||||
|
||||
@@ -11,6 +11,8 @@ versions:
|
||||
type: 'how_to'
|
||||
---
|
||||
|
||||
{% data reusables.actions.ae-beta %}
|
||||
|
||||
You must accept the terms of service to publish actions in {% data variables.product.prodname_marketplace %}.
|
||||
|
||||
### Informationen zum Veröffentlichen von Aktionen
|
||||
|
||||
@@ -8,20 +8,22 @@ redirect_from:
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
enterprise-server: '>=2.22'
|
||||
github-ae: '*'
|
||||
type: 'how_to'
|
||||
---
|
||||
|
||||
{% data reusables.actions.enterprise-beta %}
|
||||
{% data reusables.actions.enterprise-github-hosted-runners %}
|
||||
{% data reusables.actions.ae-beta %}
|
||||
|
||||
### Informationen zu Exitcodes
|
||||
|
||||
{% data variables.product.prodname_dotcom %} uses the exit code to set the action's check run status, which can be `success` or `failure`.
|
||||
|
||||
| Exit-Status | Prüflaufstatus | Beschreibung |
|
||||
| -------------- | ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `0` | `success (Erfolg)` | Die Aktion wurde erfolgreich abgeschlossen, und andere Aufgaben, die von dieser Aktion abhängig sind, können nun starten. |
|
||||
| Nicht-Nullwert | `failure (Fehlschlag)` | Alle anderen Exit-Codes weisen darauf hin, dass die Aktion fehlgeschlagen ist. Wenn eine Aktion fehlschlägt, werden alle derzeit laufenden Aktionen abgebrochen, und künftige Aktionen werden übersprungen. Sowohl der Prüflauf als auch die Prüfsuite erhalten den Status `failure`. |
|
||||
| Exit-Status | Prüflaufstatus | Beschreibung |
|
||||
| --------------------------------- | ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `0` | `success (Erfolg)` | Die Aktion wurde erfolgreich abgeschlossen, und andere Aufgaben, die von dieser Aktion abhängig sind, können nun starten. |
|
||||
| Nonzero value (any integer but 0) | `failure (Fehlschlag)` | Alle anderen Exit-Codes weisen darauf hin, dass die Aktion fehlgeschlagen ist. Wenn eine Aktion fehlschlägt, werden alle derzeit laufenden Aktionen abgebrochen, und künftige Aktionen werden übersprungen. Sowohl der Prüflauf als auch die Prüfsuite erhalten den Status `failure`. |
|
||||
|
||||
### Fehler-Exit-Code in einer JavaScript-Aktion festlegen
|
||||
|
||||
@@ -41,13 +43,11 @@ Weitere Informationen finden Sie unter „[Eine JavaScript-Aktion erstellen](/ar
|
||||
|
||||
Wenn Sie eine Docker-Container-Aktion erstellen, können Sie einen Fehler-Exit-Code im `entrypoint.sh`-Skript festlegen. Ein Beispiel:
|
||||
|
||||
{% raw %}
|
||||
```
|
||||
if <condition> ; then
|
||||
echo "Game over!"
|
||||
exit 1
|
||||
fi
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
Weitere Informationen finden Sie unter „[Eine Docker-Container-Aktion erstellen](/articles/creating-a-docker-container-action)“.
|
||||
|
||||
@@ -8,6 +8,7 @@ redirect_from:
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
enterprise-server: '>=2.22'
|
||||
github-ae: '*'
|
||||
type: overview
|
||||
topics:
|
||||
- Pakete erstellen
|
||||
@@ -15,6 +16,7 @@ topics:
|
||||
|
||||
{% data reusables.actions.enterprise-beta %}
|
||||
{% data reusables.actions.enterprise-github-hosted-runners %}
|
||||
{% data reusables.actions.ae-beta %}
|
||||
|
||||
### Informationen zu Paketierungsschritten
|
||||
|
||||
@@ -28,7 +30,7 @@ Das Erstellen eines Pakets am Ende eines Workflows zur kontinuierlichen Integrat
|
||||
|
||||
Wenn Du nun einen Pull-Request überprüfst, kannst Du Dir den Ablauf des Workflows ansehen und das erzeugte Artefakt herunterladen.
|
||||
|
||||
{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}
|
||||
{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %}
|
||||

|
||||
{% else %}
|
||||

|
||||
|
||||
@@ -8,6 +8,7 @@ redirect_from:
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
enterprise-server: '>=2.22'
|
||||
github-ae: '*'
|
||||
type: overview
|
||||
topics:
|
||||
- Containers
|
||||
@@ -16,6 +17,7 @@ topics:
|
||||
|
||||
{% data reusables.actions.enterprise-beta %}
|
||||
{% data reusables.actions.enterprise-github-hosted-runners %}
|
||||
{% data reusables.actions.ae-beta %}
|
||||
|
||||
### Informationen zu Service-Containern
|
||||
|
||||
|
||||
@@ -0,0 +1,68 @@
|
||||
---
|
||||
title: Adding labels to issues
|
||||
intro: You can use {% data variables.product.prodname_actions %} to automatically label issues.
|
||||
product: '{% data reusables.gated-features.actions %}'
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
enterprise-server: '>=2.22'
|
||||
github-ae: '*'
|
||||
type: 'tutorial'
|
||||
topics:
|
||||
- 'Workflows'
|
||||
- 'Project management'
|
||||
---
|
||||
|
||||
{% data reusables.actions.enterprise-beta %}
|
||||
{% data reusables.actions.enterprise-github-hosted-runners %}
|
||||
{% data reusables.actions.ae-beta %}
|
||||
{% data reusables.actions.ae-self-hosted-runners-notice %}
|
||||
|
||||
### Einführung
|
||||
|
||||
This tutorial demonstrates how to use the [`andymckay/labeler` action](https://github.com/marketplace/actions/simple-issue-labeler) in a workflow to label newly opened or reopened issues. For example, you can add the `triage` label every time an issue is opened or reopened. Then, you can see all issues that need to be triaged by filtering for issues with the `triage` label.
|
||||
|
||||
In the tutorial, you will first make a workflow file that uses the [`andymckay/labeler` action](https://github.com/marketplace/actions/simple-issue-labeler). Then, you will customize the workflow to suit your needs.
|
||||
|
||||
### Creating the workflow
|
||||
|
||||
1. {% data reusables.actions.choose-repo %}
|
||||
2. {% data reusables.actions.make-workflow-file %}
|
||||
3. Copy the following YAML contents into your workflow file.
|
||||
|
||||
{% raw %}
|
||||
```yaml{:copy}
|
||||
name: Label issues
|
||||
on:
|
||||
issues:
|
||||
types:
|
||||
- reopened
|
||||
- opened
|
||||
jobs:
|
||||
label_issues:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Label issues
|
||||
uses: andymckay/labeler@1.0.2
|
||||
with:
|
||||
add-labels: "triage"
|
||||
```
|
||||
{% endraw %}
|
||||
4. Customize the parameters in your workflow file:
|
||||
- Change the value for `add-labels` to the list of labels that you want to add to the issue. Separate multiple labels with commas. For example, `"help wanted, good first issue"`. For more information about labels, see "[Managing labels](/github/managing-your-work-on-github/managing-labels#applying-labels-to-issues-and-pull-requests)."
|
||||
5. {% data reusables.actions.commit-workflow %}
|
||||
|
||||
### Testing the workflow
|
||||
|
||||
Every time an issue in your repository is opened or reopened, this workflow will add the labels that you specified to the issue.
|
||||
|
||||
Test out your workflow by creating an issue in your repository.
|
||||
|
||||
1. Create an issue in your repository. For more information, see "[Creating an issue](/github/managing-your-work-on-github/creating-an-issue)."
|
||||
2. To see the workflow run that was triggered by creating the issue, view the history of your workflow runs. For more information, see "[Viewing workflow run history](/actions/managing-workflow-runs/viewing-workflow-run-history)."
|
||||
3. When the workflow completes, the issue that you created should have the specified labels added.
|
||||
|
||||
### Nächste Schritte:
|
||||
|
||||
- To learn more about additional things you can do with the `andymckay/labeler` action, like removing labels or skipping this action if the issue is assigned or has a specific label, see the [`andymckay/labeler` action documentation](https://github.com/marketplace/actions/simple-issue-labeler).
|
||||
- To learn more about different events that can trigger your workflow, see "[Events that trigger workflows](/actions/reference/events-that-trigger-workflows#issues)." The `andymckay/labeler` action only works on `issues`, `pull_request`, or `project_card` events.
|
||||
- [Search GitHub](https://github.com/search?q=%22uses:+andymckay/labeler%22&type=code) for examples of workflows using this action.
|
||||
@@ -7,6 +7,7 @@ redirect_from:
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
enterprise-server: '>=2.22'
|
||||
github-ae: '*'
|
||||
type: 'tutorial'
|
||||
topics:
|
||||
- 'CI'
|
||||
@@ -16,12 +17,16 @@ topics:
|
||||
|
||||
{% data reusables.actions.enterprise-beta %}
|
||||
{% data reusables.actions.enterprise-github-hosted-runners %}
|
||||
{% data reusables.actions.ae-beta %}
|
||||
|
||||
### Einführung
|
||||
|
||||
Dieser Leitfaden zeigt Dir, wie Du einen Workflow erstellen kannst, der eine kontinuierliche Integration (CI) für Dein Java-Projekt mit Hilfe des Build-Systems Ant durchführt. Der Workflow, den Du erstellst, zeigt Dir, wenn Commits zu einem Pull-Request zu Build- oder Testfehlern für deinen Standard-Zweig führen. Dieser Ansatz kann dazu beitragen, dass Dein Code immer brauchbar ist. Du kannst Deinen CI-Workflow so erweitern, dass er Artefakte von einem Workflow-Lauf hochlädt.
|
||||
|
||||
{% if currentVersion == "github-ae@latest" %}For instructions on how to make sure your {% data variables.actions.hosted_runner %} has the required software installed, see "[Creating custom images](/actions/using-github-hosted-runners/creating-custom-images)."
|
||||
{% else %}
|
||||
{% data variables.product.prodname_dotcom %}-gehostete Runnner haben einen Tools-Cache mit vorinstallierter Software, einschließlich Java Development Kits (JDKs) und Ant. For a list of software and the pre-installed versions for JDK and Ant, see "[Specifications for {% data variables.product.prodname_dotcom %}-hosted runners](/actions/reference/specifications-for-github-hosted-runners/#supported-software)".
|
||||
{% endif %}
|
||||
|
||||
### Vorrausetzungen
|
||||
|
||||
|
||||
@@ -7,6 +7,7 @@ redirect_from:
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
enterprise-server: '>=2.22'
|
||||
github-ae: '*'
|
||||
type: 'tutorial'
|
||||
topics:
|
||||
- 'CI'
|
||||
@@ -16,12 +17,16 @@ topics:
|
||||
|
||||
{% data reusables.actions.enterprise-beta %}
|
||||
{% data reusables.actions.enterprise-github-hosted-runners %}
|
||||
{% data reusables.actions.ae-beta %}
|
||||
|
||||
### Einführung
|
||||
|
||||
Dieser Leitfaden zeigt Dir, wie Du einen Workflow erstellen kannst, der eine kontinuierliche Integration (CI) für Dein Java-Projekt mit Hilfe des Build-Systems Gradle durchführt. Der Workflow, den Du erstellst, zeigt Dir, wenn Commits zu einem Pull-Request zu Build- oder Testfehlern für deinen Standard-Zweig führen. Dieser Ansatz kann dazu beitragen, dass Dein Code immer brauchbar ist. Du kannst Deinen CI-Workflow so erweitern, dass er Dateien im Cache zwischenspeichert und Artefakte von einem Workflow-Lauf hochlädt.
|
||||
|
||||
{% if currentVersion == "github-ae@latest" %}For instructions on how to make sure your {% data variables.actions.hosted_runner %} has the required software installed, see "[Creating custom images](/actions/using-github-hosted-runners/creating-custom-images)."
|
||||
{% else %}
|
||||
{% data variables.product.prodname_dotcom %}-gehostete Runnner haben einen Tools-Cache mit vorinstallierter Software, einschließlich Java Development Kits (JDKs) und Gradle. For a list of software and the pre-installed versions for JDK and Gradle, see "[Specifications for {% data variables.product.prodname_dotcom %}-hosted runners](/actions/reference/specifications-for-github-hosted-runners/#supported-software)".
|
||||
{% endif %}
|
||||
|
||||
### Vorrausetzungen
|
||||
|
||||
|
||||
@@ -7,6 +7,7 @@ redirect_from:
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
enterprise-server: '>=2.22'
|
||||
github-ae: '*'
|
||||
type: 'tutorial'
|
||||
topics:
|
||||
- 'CI'
|
||||
@@ -16,12 +17,16 @@ topics:
|
||||
|
||||
{% data reusables.actions.enterprise-beta %}
|
||||
{% data reusables.actions.enterprise-github-hosted-runners %}
|
||||
{% data reusables.actions.ae-beta %}
|
||||
|
||||
### Einführung
|
||||
|
||||
Dieser Leitfaden zeigt Dir, wie Du einen Workflow erstellen kannst, der eine kontinuierliche Integration (CI) für Dein Java-Projekt mit Hilfe des Software-Projektmanagement-Tools Maven durchführt. Der Workflow, den Du erstellst, zeigt Dir, wenn Commits zu einem Pull-Request zu Build- oder Testfehlern für deinen Standard-Zweig führen. Dieser Ansatz kann dazu beitragen, dass Dein Code immer brauchbar ist. Du kannst Deinen CI-Workflow so erweitern, dass er Dateien im Cache zwischenspeichert und Artefakte von einem Workflow-Lauf hochlädt.
|
||||
|
||||
{% if currentVersion == "github-ae@latest" %}For instructions on how to make sure your {% data variables.actions.hosted_runner %} has the required software installed, see "[Creating custom images](/actions/using-github-hosted-runners/creating-custom-images)."
|
||||
{% else %}
|
||||
{% data variables.product.prodname_dotcom %}-gehostete Runnner haben einen Tools-Cache mit vorinstallierter Software, einschließlich Java Development Kits (JDKs) und Maven. For a list of software and the pre-installed versions for JDK and Maven, see "[Specifications for {% data variables.product.prodname_dotcom %}-hosted runners](/actions/reference/specifications-for-github-hosted-runners/#supported-software)".
|
||||
{% endif %}
|
||||
|
||||
### Vorrausetzungen
|
||||
|
||||
|
||||
@@ -5,17 +5,24 @@ product: '{% data reusables.gated-features.actions %}'
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
enterprise-server: '>=2.22'
|
||||
github-ae: '*'
|
||||
---
|
||||
|
||||
{% data reusables.actions.enterprise-beta %}
|
||||
{% data reusables.actions.enterprise-github-hosted-runners %}
|
||||
{% data reusables.actions.ae-beta %}
|
||||
|
||||
### Einführung
|
||||
|
||||
This guide shows you how to build, test, and publish a .NET package.
|
||||
|
||||
{% data variables.product.prodname_dotcom %}-hosted runners have a tools cache with preinstalled software, which includes the .NET Core SDK. For a full list of up-to-date software and the preinstalled versions of .NET Core SDK, see [software installed on {% data variables.product.prodname_dotcom %}-hosted runners](/actions/reference/specifications-for-github-hosted-runners).
|
||||
{% if currentVersion == "github-ae@latest" %} To build and test your .NET project on {% data variables.product.prodname_ghe_managed %}, you will need to create a custom operating system image that includes the .NET Core SDK. For instructions on how to make sure your {% data variables.actions.hosted_runner %} has the required software installed, see "[Creating custom images](/actions/using-github-hosted-runners/creating-custom-images)."
|
||||
{% else %} {% data variables.product.prodname_dotcom %}-hosted runners have a tools cache with preinstalled software, which includes the .NET Core SDK. For a full list of up-to-date software and the preinstalled versions of .NET Core SDK, see [software installed on {% data variables.product.prodname_dotcom %}-hosted runners](/actions/reference/specifications-for-github-hosted-runners).
|
||||
{% endif %}
|
||||
|
||||
### Vorrausetzungen
|
||||
|
||||
You should already be familiar with YAML syntax and how it's used with {% data variables.product.prodname_actions %}. Weitere Informationen findest Du unter „[Workflow Syntax für {% data variables.product.prodname_actions %}](/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions)."
|
||||
You should already be familiar with YAML syntax and how it's used with {% data variables.product.prodname_actions %}. Weitere Informationen findest Du unter „[Workflow-Syntax für {% data variables.product.prodname_actions %}](/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions)“.
|
||||
|
||||
We recommend that you have a basic understanding of the .NET Core SDK. For more information, see [Getting started with .NET](https://dotnet.microsoft.com/learn).
|
||||
|
||||
@@ -41,8 +48,8 @@ jobs:
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Setup .NET Core SDK ${{ matrix.dotnet }}
|
||||
uses: actions/setup-dotnet@v1.6.0
|
||||
- name: Setup .NET Core SDK ${{ matrix.dotnet-version }}
|
||||
uses: actions/setup-dotnet@v1.7.2
|
||||
with:
|
||||
dotnet-version: ${{ matrix.dotnet-version }}
|
||||
- name: Install dependencies
|
||||
@@ -79,7 +86,7 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Setup dotnet ${{ matrix.dotnet-version }}
|
||||
uses: actions/setup-dotnet@v1.6.0
|
||||
uses: actions/setup-dotnet@v1.7.2
|
||||
with:
|
||||
dotnet-version: ${{ matrix.dotnet-version }}
|
||||
# You can test your matrix by printing the current dotnet version
|
||||
@@ -111,7 +118,7 @@ You can configure your job to use a specific version of .NET, such as `3.1.3`. A
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Setup dotnet
|
||||
uses: actions/setup-dotnet@v1.6.0
|
||||
uses: actions/setup-dotnet@v1.7.2
|
||||
with:
|
||||
dotnet-version: '3.1.x'
|
||||
- name: Install dependencies
|
||||
@@ -132,7 +139,7 @@ Weitere Informationen findest Du unter „[Abhängigkeiten zur Beschleunigung vo
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Setup dotnet
|
||||
uses: actions/setup-dotnet@v1.6.0
|
||||
uses: actions/setup-dotnet@v1.7.2
|
||||
with:
|
||||
dotnet-version: '3.1.x'
|
||||
- uses: actions/cache@v2
|
||||
@@ -164,7 +171,7 @@ Du kannst die gleichen Befehle verwenden, die Du auch lokal verwendest, um Deine
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Setup dotnet
|
||||
uses: actions/setup-dotnet@v1.6.0
|
||||
uses: actions/setup-dotnet@v1.7.2
|
||||
with:
|
||||
dotnet-version: '3.1.x'
|
||||
- name: Install dependencies
|
||||
@@ -199,7 +206,7 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Setup dotnet
|
||||
uses: actions/setup-dotnet@v1.6.0
|
||||
uses: actions/setup-dotnet@v1.7.2
|
||||
with:
|
||||
dotnet-version: ${{ matrix.dotnet-version }}
|
||||
- name: Install dependencies
|
||||
@@ -239,7 +246,7 @@ jobs:
|
||||
source-url: https://nuget.pkg.github.com/<owner>/index.json
|
||||
env:
|
||||
NUGET_AUTH_TOKEN: ${{secrets.GITHUB_TOKEN}}
|
||||
- run: dotnet build <my project>
|
||||
- run: dotnet build --configuration Release <my project>
|
||||
- name: Create the package
|
||||
run: dotnet pack --configuration Release <my project>
|
||||
- name: Publish the package to GPR
|
||||
|
||||
@@ -8,6 +8,7 @@ redirect_from:
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
enterprise-server: '>=2.22'
|
||||
github-ae: '*'
|
||||
type: 'tutorial'
|
||||
topics:
|
||||
- 'CI'
|
||||
@@ -17,6 +18,7 @@ topics:
|
||||
|
||||
{% data reusables.actions.enterprise-beta %}
|
||||
{% data reusables.actions.enterprise-github-hosted-runners %}
|
||||
{% data reusables.actions.ae-beta %}
|
||||
|
||||
### Einführung
|
||||
|
||||
@@ -127,8 +129,12 @@ jobs:
|
||||
- run: npm test
|
||||
```
|
||||
{% endraw %}
|
||||
If you don't specify a Node.js version,
|
||||
|
||||
Wenn Du keine Node.js Version festlegst, verwendet {% data variables.product.prodname_dotcom %} die standardmäßige Node.js Version der Umgebung. For more information, see "[Specifications for {% data variables.product.prodname_dotcom %}-hosted runners](/actions/reference/specifications-for-github-hosted-runners/#supported-software)".
|
||||
{% data variables.product.prodname_dotcom %} uses the environment's default Node.js version.
|
||||
{% if currentVersion == "github-ae@latest" %} For instructions on how to make sure your {% data variables.actions.hosted_runner %} has the required software installed, see "[Creating custom images](/actions/using-github-hosted-runners/creating-custom-images)."
|
||||
{% else %} For more information, see "[Specifications for {% data variables.product.prodname_dotcom %}-hosted runners](/actions/reference/specifications-for-github-hosted-runners/#supported-software)".
|
||||
{% endif %}
|
||||
|
||||
### Abhängigkeiten installieren
|
||||
|
||||
|
||||
@@ -5,6 +5,7 @@ product: '{% data reusables.gated-features.actions %}'
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
enterprise-server: '>=2.22'
|
||||
github-ae: '*'
|
||||
authors:
|
||||
- potatoqualitee
|
||||
type: 'tutorial'
|
||||
@@ -15,12 +16,17 @@ topics:
|
||||
|
||||
{% data reusables.actions.enterprise-beta %}
|
||||
{% data reusables.actions.enterprise-github-hosted-runners %}
|
||||
{% data reusables.actions.ae-beta %}
|
||||
|
||||
### Einführung
|
||||
|
||||
This guide shows you how to use PowerShell for CI. It describes how to use Pester, install dependencies, test your module, and publish to the PowerShell Gallery.
|
||||
|
||||
{% data variables.product.prodname_dotcom %}-hosted runners have a tools cache with pre-installed software, which includes PowerShell and Pester. For a full list of up-to-date software and the pre-installed versions of PowerShell and Pester, see "[Specifications for {% data variables.product.prodname_dotcom %}-hosted runners](/actions/reference/specifications-for-github-hosted-runners/#supported-software)".
|
||||
{% data variables.product.prodname_dotcom %}-hosted runners have a tools cache with pre-installed software, which includes PowerShell and Pester.
|
||||
|
||||
{% if currentVersion == "github-ae@latest" %}For instructions on how to make sure your {% data variables.actions.hosted_runner %} has the required software installed, see "[Creating custom images](/actions/using-github-hosted-runners/creating-custom-images)."
|
||||
{% else %}For a full list of up-to-date software and the pre-installed versions of PowerShell and Pester, see "[Specifications for {% data variables.product.prodname_dotcom %}-hosted runners](/actions/reference/specifications-for-github-hosted-runners/#supported-software)".
|
||||
{% endif %}
|
||||
|
||||
### Vorrausetzungen
|
||||
|
||||
@@ -64,7 +70,7 @@ jobs:
|
||||
* `run: Test-Path resultsfile.log` - Check whether a file called `resultsfile.log` is present in the repository's root directory.
|
||||
* `Should -Be $true` - Uses Pester to define an expected result. If the result is unexpected, then {% data variables.product.prodname_actions %} flags this as a failed test. Ein Beispiel:
|
||||
|
||||
{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}
|
||||
{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %}
|
||||

|
||||
{% else %}
|
||||

|
||||
|
||||
@@ -7,6 +7,7 @@ redirect_from:
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
enterprise-server: '>=2.22'
|
||||
github-ae: '*'
|
||||
type: 'tutorial'
|
||||
topics:
|
||||
- 'CI'
|
||||
@@ -15,12 +16,15 @@ topics:
|
||||
|
||||
{% data reusables.actions.enterprise-beta %}
|
||||
{% data reusables.actions.enterprise-github-hosted-runners %}
|
||||
{% data reusables.actions.ae-beta %}
|
||||
|
||||
### Einführung
|
||||
|
||||
Diese Anleitung zeigt Dir, wie Du ein Python-Paket baust, testest und veröffentlichst.
|
||||
|
||||
{% data variables.product.prodname_dotcom %}-gehostete Runner haben einen Tools-Cache mit vorinstallierter Software, einschließlich Python und PyPy. Du brauchst nichts zu installieren! For a full list of up-to-date software and the pre-installed versions of Python and PyPy, see "[Specifications for {% data variables.product.prodname_dotcom %}-hosted runners](/actions/reference/specifications-for-github-hosted-runners/#supported-software)".
|
||||
{% if currentVersion == "github-ae@latest" %} For instructions on how to make sure your {% data variables.actions.hosted_runner %} has the required software installed, see "[Creating custom images](/actions/using-github-hosted-runners/creating-custom-images)."
|
||||
{% else %} {% data variables.product.prodname_dotcom %}-hosted runners have a tools cache with pre-installed software, which includes Python and PyPy. Du brauchst nichts zu installieren! For a full list of up-to-date software and the pre-installed versions of Python and PyPy, see "[Specifications for {% data variables.product.prodname_dotcom %}-hosted runners](/actions/reference/specifications-for-github-hosted-runners/#supported-software)".
|
||||
{% endif %}
|
||||
|
||||
### Vorrausetzungen
|
||||
|
||||
@@ -35,7 +39,7 @@ Du solltest ein grundlegendes Verständnis von Python, PyPy und pip haben. Weite
|
||||
|
||||
### Einstieg mit der Python-Workflow-Vorlage
|
||||
|
||||
{% data variables.product.prodname_dotcom %} bietet eine Python-Workflow-Vorlage, die für die meisten Python-Projekte funktionieren sollte. Diese Anleitung enthält Beispiele, mit denen Du die Vorlage anpassen kannst. Weitere Informationen findest Du in der [Python-Workflow-Vorlage](https://github.com/actions/starter-workflows/blob/main/ci/python-package.yml).
|
||||
{% data variables.product.prodname_dotcom %} bietet eine Python-Workflow-Vorlage, die für die meisten Python-Projekte funktionieren sollte. Diese Anleitung enthält Beispiele, mit denen Du die Vorlage anpassen kannst. For more information, see the [Python workflow template](https://github.com/actions/starter-workflows/blob/main/ci/python-package.yml).
|
||||
|
||||
Um schnell loszulegen, füge die Vorlage in das Verzeichnis `.github/workflows` Deines Repositorys ein.
|
||||
|
||||
|
||||
@@ -5,6 +5,7 @@ product: '{% data reusables.gated-features.actions %}'
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
enterprise-server: '>=2.22'
|
||||
github-ae: '*'
|
||||
type: 'tutorial'
|
||||
topics:
|
||||
- 'CI'
|
||||
@@ -13,6 +14,7 @@ topics:
|
||||
|
||||
{% data reusables.actions.enterprise-beta %}
|
||||
{% data reusables.actions.enterprise-github-hosted-runners %}
|
||||
{% data reusables.actions.ae-beta %}
|
||||
|
||||
### Einführung
|
||||
|
||||
|
||||
@@ -14,13 +14,15 @@ topics:
|
||||
- 'Workflows'
|
||||
---
|
||||
|
||||
{% data reusables.actions.ae-beta %}
|
||||
|
||||
### Informationen zum Zwischenspeichern von Workflow-Abhängigkeiten
|
||||
|
||||
Workflow-Läufe verwenden häufig dieselben Ausgaben oder heruntergeladenen Abhängigkeiten in aufeinanderfolgenden Durchläufen. Tools zur Verwaltung von Paketen und Abhängigkeiten wie beispielsweise Maven, Gradle, npm und Yarn halten einen lokalen Cache mit heruntergeladenen Abhängigkeiten.
|
||||
|
||||
Jobs bei {% data variables.product.prodname_dotcom %}-gehosteten Läufern beginnen in einer sauberen virtuellen Umgebung und müssen Abhängigkeiten jedes Mal herunterladen. Dies führt zu erhöhter Netzwerkauslastung, längerer Laufzeit und erhöhten Kosten. Um die Zeit zum Neuerstellen dieser Dateien einzusparen, kann {% data variables.product.prodname_dotcom %} in Workflows häufig verwendete Abhängigkeiten zwischenspeichern.
|
||||
|
||||
Um Abhängigkeiten für einen Job zu cachen, musst du die `Cache`-Aktion von {% data variables.product.prodname_dotcom %} verwenden. Die Aktion ruft einen Cache ab, der durch einen eindeutigen Schlüssel identifiziert wurde. Weitere Informationen findest Du unter [`Aktionen/Cache`](https://github.com/actions/cache).
|
||||
Um Abhängigkeiten für einen Job zu cachen, musst du die `Cache`-Aktion von {% data variables.product.prodname_dotcom %} verwenden. Die Aktion ruft einen Cache ab, der durch einen eindeutigen Schlüssel identifiziert wurde. Weitere Informationen findest Du unter [`Aktionen/Cache`](https://github.com/actions/cache). If you are caching Ruby gems, instead consider using the Ruby maintained action, which can cache bundle installs on initiation. For more information, see [`ruby/setup-ruby`](https://github.com/ruby/setup-ruby#caching-bundle-install-automatically).
|
||||
|
||||
{% warning %}
|
||||
|
||||
|
||||
@@ -0,0 +1,77 @@
|
||||
---
|
||||
title: Closing inactive issues
|
||||
intro: You can use {% data variables.product.prodname_actions %} to comment on or close issues that have been inactive for a certain period of time.
|
||||
product: '{% data reusables.gated-features.actions %}'
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
enterprise-server: '>=2.22'
|
||||
github-ae: '*'
|
||||
type: 'tutorial'
|
||||
topics:
|
||||
- 'Workflows'
|
||||
- 'Project management'
|
||||
---
|
||||
|
||||
{% data reusables.actions.enterprise-beta %}
|
||||
{% data reusables.actions.enterprise-github-hosted-runners %}
|
||||
{% data reusables.actions.ae-beta %}
|
||||
{% data reusables.actions.ae-self-hosted-runners-notice %}
|
||||
|
||||
### Einführung
|
||||
|
||||
This tutorial demonstrates how to use the [`actions/stale` action](https://github.com/marketplace/actions/close-stale-issues) to comment on and close issues that have been inactive for a certain period of time. For example, you can comment if an issue has been inactive for 30 days to prompt participants to take action. Then, if no additional activity occurs after 14 days, you can close the issue.
|
||||
|
||||
In the tutorial, you will first make a workflow file that uses the [`actions/stale` action](https://github.com/marketplace/actions/close-stale-issues). Then, you will customize the workflow to suit your needs.
|
||||
|
||||
### Creating the workflow
|
||||
|
||||
1. {% data reusables.actions.choose-repo %}
|
||||
2. {% data reusables.actions.make-workflow-file %}
|
||||
3. Copy the following YAML contents into your workflow file.
|
||||
|
||||
{% raw %}
|
||||
```yaml{:copy}
|
||||
name: Close inactive issues
|
||||
on:
|
||||
schedule:
|
||||
- cron: "30 1 * * *"
|
||||
|
||||
jobs:
|
||||
close-issues:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/stale@v3
|
||||
with:
|
||||
days-before-issue-stale: 30
|
||||
days-before-issue-close: 14
|
||||
stale-issue-label: "stale"
|
||||
stale-issue-message: "This issue is stale because it has been open for 30 days with no activity."
|
||||
close-issue-message: "This issue was closed because it has been inactive for 14 days since being marked as stale."
|
||||
days-before-pr-stale: -1
|
||||
days-before-pr-close: -1
|
||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
```
|
||||
{% endraw %}
|
||||
4. Customize the parameters in your workflow file:
|
||||
- Change the value for `on.schedule` to dictate when you want this workflow to run. In the example above, the workflow will run every day at 1:30 UTC. For more information about scheduled workflows, see "[Scheduled events](/actions/reference/events-that-trigger-workflows#scheduled-events)."
|
||||
- Change the value for `days-before-issue-stale` to the number of days without activity before the `actions/stale` action labels an issue. If you never want this action to label issues, set this value to `-1`.
|
||||
- Change the value for `days-before-issue-close` to the number of days without activity before the `actions/stale` action closes an issue. If you never want this action to close issues, set this value to `-1`.
|
||||
- Change the value for `stale-issue-label` to the label that you want to apply to issues that have been inactive for the amount of time specified by `days-before-issue-stale`.
|
||||
- Change the value for `stale-issue-message` to the comment that you want to add to issues that are labeled by the `actions/stale` action.
|
||||
- Change the value for `close-issue-message` to the comment that you want to add to issues that are closed by the `actions/stale` action.
|
||||
5. {% data reusables.actions.commit-workflow %}
|
||||
|
||||
### Expected results
|
||||
|
||||
Based on the `schedule` parameter (for example, every day at 1:30 UTC), your workflow will find issues that have been inactive for the specified period of time and will add the specified comment and label. Additionally, your workflow will close any previously labeled issues if no additional activity has occurred for the specified period of time.
|
||||
|
||||
{% data reusables.actions.schedule-delay %}
|
||||
|
||||
You can view the history of your workflow runs to see this workflow run periodically. For more information, see "[Viewing workflow run history](/actions/managing-workflow-runs/viewing-workflow-run-history)."
|
||||
|
||||
This workflow will only label and/or close 30 issues at a time in order to avoid rate limit abuse. You can configure this with the `operations-per-run` setting. For more information, see the [`actions/stale` action documentation](https://github.com/marketplace/actions/close-stale-issues).
|
||||
|
||||
### Nächste Schritte:
|
||||
|
||||
- To learn more about additional things you can do with the `actions/stale` action, like closing inactive pull requests, ignoring issues with certain labels or milestones, or only checking issues with certain labels, see the [`actions/stale` action documentation](https://github.com/marketplace/actions/close-stale-issues).
|
||||
- [Search GitHub](https://github.com/search?q=%22uses%3A+actions%2Fstale%22&type=code) for examples of workflows using this action.
|
||||
@@ -0,0 +1,70 @@
|
||||
---
|
||||
title: Commenting on an issue when a label is added
|
||||
intro: You can use {% data variables.product.prodname_actions %} to automatically comment on issues when a specific label is applied.
|
||||
product: '{% data reusables.gated-features.actions %}'
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
enterprise-server: '>=2.22'
|
||||
github-ae: '*'
|
||||
type: 'tutorial'
|
||||
topics:
|
||||
- 'Workflows'
|
||||
- 'Project management'
|
||||
---
|
||||
|
||||
{% data reusables.actions.enterprise-beta %}
|
||||
{% data reusables.actions.enterprise-github-hosted-runners %}
|
||||
{% data reusables.actions.ae-beta %}
|
||||
{% data reusables.actions.ae-self-hosted-runners-notice %}
|
||||
|
||||
### Einführung
|
||||
|
||||
This tutorial demonstrates how to use the [`peter-evans/create-or-update-comment` action](https://github.com/marketplace/actions/create-or-update-comment) to comment on an issue when a specific label is applied. For example, when the `help-wanted` label is added to an issue, you can add a comment to encourage contributors to work on the issue.
|
||||
|
||||
In the tutorial, you will first make a workflow file that uses the [`peter-evans/create-or-update-comment` action](https://github.com/marketplace/actions/create-or-update-comment). Then, you will customize the workflow to suit your needs.
|
||||
|
||||
### Creating the workflow
|
||||
|
||||
1. {% data reusables.actions.choose-repo %}
|
||||
2. {% data reusables.actions.make-workflow-file %}
|
||||
3. Copy the following YAML contents into your workflow file.
|
||||
|
||||
{% raw %}
|
||||
```yaml{:copy}
|
||||
name: Add comment
|
||||
on:
|
||||
issues:
|
||||
types:
|
||||
- labeled
|
||||
jobs:
|
||||
add-comment:
|
||||
if: github.event.label.name == 'help-wanted'
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Add comment
|
||||
uses: peter-evans/create-or-update-comment@v1
|
||||
with:
|
||||
issue-number: ${{ github.event.issue.number }}
|
||||
body: |
|
||||
This issue is available for anyone to work on. **Make sure to reference this issue in your pull request.** :sparkles: Thank you for your contribution! :sparkles:
|
||||
```
|
||||
{% endraw %}
|
||||
4. Customize the parameters in your workflow file:
|
||||
- Replace `help-wanted` in `if: github.event.label.name == 'help-wanted'` with the label that you want to act on. If you want to act on more than one label, separate the conditions with `||`. For example, `if: github.event.label.name == 'bug' || github.event.label.name == 'fix me'` will comment whenever the `bug` or `fix me` labels are added to an issue.
|
||||
- Change the value for `body` to the comment that you want to add. GitHub flavored markdown is supported. For more information about markdown, see "[Basic writing and formatting syntax](/github/writing-on-github/basic-writing-and-formatting-syntax)."
|
||||
5. {% data reusables.actions.commit-workflow %}
|
||||
|
||||
### Testing the workflow
|
||||
|
||||
Every time an issue in your repository is labeled, this workflow will run. If the label that was added is one of the labels that you specified in your workflow file, the `peter-evans/create-or-update-comment` action will add the comment that you specified to the issue.
|
||||
|
||||
Test your workflow by applying your specified label to an issue.
|
||||
|
||||
1. Open an issue in your repository. For more information, see "[Creating an issue](/github/managing-your-work-on-github/creating-an-issue)."
|
||||
2. Label the issue with the specified label in your workflow file. For more information, see "[Managing labels](/github/managing-your-work-on-github/managing-labels#applying-labels-to-issues-and-pull-requests)."
|
||||
3. To see the workflow run triggered by labeling the issue, view the history of your workflow runs. For more information, see "[Viewing workflow run history](/actions/managing-workflow-runs/viewing-workflow-run-history)."
|
||||
4. When the workflow completes, the issue that you labeled should have a comment added.
|
||||
|
||||
### Nächste Schritte:
|
||||
|
||||
- To learn more about additional things you can do with the `peter-evans/create-or-update-comment` action, like adding reactions, visit the [`peter-evans/create-or-update-comment` action documentation](https://github.com/marketplace/actions/create-or-update-comment).
|
||||
@@ -9,6 +9,7 @@ redirect_from:
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
enterprise-server: '>=2.22'
|
||||
github-ae: '*'
|
||||
type: 'tutorial'
|
||||
topics:
|
||||
- 'Containers'
|
||||
@@ -17,6 +18,7 @@ topics:
|
||||
|
||||
{% data reusables.actions.enterprise-beta %}
|
||||
{% data reusables.actions.enterprise-github-hosted-runners %}
|
||||
{% data reusables.actions.ae-beta %}
|
||||
|
||||
### Einführung
|
||||
|
||||
|
||||
@@ -9,6 +9,7 @@ redirect_from:
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
enterprise-server: '>=2.22'
|
||||
github-ae: '*'
|
||||
type: 'tutorial'
|
||||
topics:
|
||||
- 'Containers'
|
||||
@@ -17,6 +18,7 @@ topics:
|
||||
|
||||
{% data reusables.actions.enterprise-beta %}
|
||||
{% data reusables.actions.enterprise-github-hosted-runners %}
|
||||
{% data reusables.actions.ae-beta %}
|
||||
|
||||
### Einführung
|
||||
|
||||
|
||||
@@ -5,6 +5,7 @@ product: '{% data reusables.gated-features.actions %}'
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
enterprise-server: '>=2.22'
|
||||
github-ae: '*'
|
||||
type: 'tutorial'
|
||||
topics:
|
||||
- 'CD'
|
||||
@@ -14,6 +15,7 @@ topics:
|
||||
|
||||
{% data reusables.actions.enterprise-beta %}
|
||||
{% data reusables.actions.enterprise-github-hosted-runners %}
|
||||
{% data reusables.actions.ae-beta %}
|
||||
|
||||
### Einführung
|
||||
|
||||
@@ -105,7 +107,7 @@ jobs:
|
||||
with:
|
||||
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
|
||||
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
|
||||
aws-region: $AWS_REGION
|
||||
aws-region: ${{ env.AWS_REGION }}
|
||||
|
||||
- name: Login to Amazon ECR
|
||||
id: login-ecr
|
||||
@@ -122,22 +124,22 @@ jobs:
|
||||
# be deployed to ECS.
|
||||
docker build -t $ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG .
|
||||
docker push $ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG
|
||||
echo "image=$ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG" >> $GITHUB_ENV
|
||||
echo "::set-output name=image::$ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG"
|
||||
|
||||
- name: Fill in the new image ID in the Amazon ECS task definition
|
||||
id: task-def
|
||||
uses: aws-actions/amazon-ecs-render-task-definition@v1
|
||||
with:
|
||||
task-definition: $ECS_TASK_DEFINITION
|
||||
container-name: $CONTAINER_NAME
|
||||
task-definition: ${{ env.ECS_TASK_DEFINITION }}
|
||||
container-name: ${{ env.CONTAINER_NAME }}
|
||||
image: ${{ steps.build-image.outputs.image }}
|
||||
|
||||
- name: Deploy Amazon ECS task definition
|
||||
uses: aws-actions/amazon-ecs-deploy-task-definition@v1
|
||||
with:
|
||||
task-definition: ${{ steps.task-def.outputs.task-definition }}
|
||||
service: $ECS_SERVICE
|
||||
cluster: $ECS_CLUSTER
|
||||
service: ${{ env.ECS_SERVICE }}
|
||||
cluster: ${{ env.ECS_CLUSTER }}
|
||||
wait-for-service-stability: true
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
@@ -5,6 +5,7 @@ product: '{% data reusables.gated-features.actions %}'
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
enterprise-server: '>=2.22'
|
||||
github-ae: '*'
|
||||
type: 'tutorial'
|
||||
topics:
|
||||
- 'CD'
|
||||
@@ -14,6 +15,7 @@ topics:
|
||||
|
||||
{% data reusables.actions.enterprise-beta %}
|
||||
{% data reusables.actions.enterprise-github-hosted-runners %}
|
||||
{% data reusables.actions.ae-beta %}
|
||||
|
||||
### Einführung
|
||||
|
||||
|
||||
@@ -5,6 +5,7 @@ product: '{% data reusables.gated-features.actions %}'
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
enterprise-server: '>=2.22'
|
||||
github-ae: '*'
|
||||
type: 'tutorial'
|
||||
topics:
|
||||
- 'CD'
|
||||
@@ -14,6 +15,7 @@ topics:
|
||||
|
||||
{% data reusables.actions.enterprise-beta %}
|
||||
{% data reusables.actions.enterprise-github-hosted-runners %}
|
||||
{% data reusables.actions.ae-beta %}
|
||||
|
||||
### Einführung
|
||||
|
||||
|
||||
@@ -17,6 +17,7 @@ redirect_from:
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
enterprise-server: '>=2.22'
|
||||
github-ae: '*'
|
||||
learningTracks:
|
||||
- getting_started
|
||||
- continuous_integration
|
||||
@@ -61,6 +62,13 @@ includeGuides:
|
||||
- /actions/learn-github-actions/migrating-from-gitlab-cicd-to-github-actions
|
||||
- /actions/learn-github-actions/migrating-from-jenkins-to-github-actions
|
||||
- /actions/learn-github-actions/migrating-from-travis-ci-to-github-actions
|
||||
- /actions/guides/using-github-actions-for-project-management
|
||||
- /actions/guides/closing-inactive-issues
|
||||
- /actions/guides/scheduling-issue-creation
|
||||
- /actions/guides/adding-labels-to-issues
|
||||
- /actions/guides/commenting-on-an-issue-when-a-label-is-added
|
||||
- /actions/guides/moving-assigned-issues-on-project-boards
|
||||
- /actions/guides/removing-a-label-when-a-card-is-added-to-a-project-board-column
|
||||
---
|
||||
|
||||
<!-- {% link_in_list /about-continuous-integration %} -->
|
||||
@@ -86,3 +94,11 @@ includeGuides:
|
||||
<!-- {% link_in_list /deploying-to-amazon-elastic-container-service %} -->
|
||||
<!-- {% link_in_list /deploying-to-azure-app-service %} -->
|
||||
<!-- {% link_in_list /deploying-to-google-kubernetes-engine %} -->
|
||||
<!-- {% link_in_list /deploying-to-google-kubernetes-engine %} -->
|
||||
<!-- {% link_in_list /using-github-actions-for-project-management %} -->
|
||||
<!-- {% link_in_list /closing-inactive-issues %} -->
|
||||
<!-- {% link_in_list /scheduling-issue-creation %} -->
|
||||
<!-- {% link_in_list /adding-labels-to-issues %} -->
|
||||
<!-- {% link_in_list /commenting-on-an-issue-when-a-label-is-added %} -->
|
||||
<!-- {% link_in_list /moving-assigned-issues-on-project-boards %} -->
|
||||
<!-- {% link_in_list /removing-a-label-when-a-card-is-added-to-a-project-board-column %} -->
|
||||
|
||||
@@ -0,0 +1,75 @@
|
||||
---
|
||||
title: Moving assigned issues on project boards
|
||||
intro: You can use {% data variables.product.prodname_actions %} to automatically move an issue to a specific column on a project board when the issue is assigned.
|
||||
product: '{% data reusables.gated-features.actions %}'
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
enterprise-server: '>=2.22'
|
||||
github-ae: '*'
|
||||
type: 'tutorial'
|
||||
topics:
|
||||
- 'Workflows'
|
||||
- 'Project management'
|
||||
---
|
||||
|
||||
{% data reusables.actions.enterprise-beta %}
|
||||
{% data reusables.actions.enterprise-github-hosted-runners %}
|
||||
{% data reusables.actions.ae-beta %}
|
||||
{% data reusables.actions.ae-self-hosted-runners-notice %}
|
||||
|
||||
### Einführung
|
||||
|
||||
This tutorial demonstrates how to use the [`alex-page/github-project-automation-plus` action](https://github.com/marketplace/actions/github-project-automation) to automatically move an issue to a specific column on a project board when the issue is assigned. For example, when an issue is assigned, you can move it into the `In Progress` column your project board.
|
||||
|
||||
In the tutorial, you will first make a workflow file that uses the [`alex-page/github-project-automation-plus` action](https://github.com/marketplace/actions/github-project-automation). Then, you will customize the workflow to suit your needs.
|
||||
|
||||
### Creating the workflow
|
||||
|
||||
1. {% data reusables.actions.choose-repo %}
|
||||
2. In your repository, choose a project board. You can use an existing project, or you can create a new project. For more information about creating a project, see "[Creating a project board](/github/managing-your-work-on-github/creating-a-project-board)."
|
||||
3. {% data reusables.actions.make-workflow-file %}
|
||||
4. Copy the following YAML contents into your workflow file.
|
||||
|
||||
{% raw %}
|
||||
```yaml{:copy}
|
||||
name: Move assigned card
|
||||
on:
|
||||
issues:
|
||||
types:
|
||||
- assigned
|
||||
jobs:
|
||||
move-assigned-card:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: alex-page/github-project-automation-plus@v0.3.0
|
||||
with:
|
||||
project: Docs Work
|
||||
column: In Progress
|
||||
repo-token: ${{ secrets.PERSONAL_ACCESS_TOKEN }}
|
||||
```
|
||||
{% endraw %}
|
||||
5. Customize the parameters in your workflow file:
|
||||
- Change the value for `project` to the name of your project board. If you have multiple project boards with the same name, the `alex-page/github-project-automation-plus` action will act on all projects with the specified name.
|
||||
- Change the value for `column` to the name of the column where you want issues to move when they are assigned.
|
||||
- Change the value for `repo-token`:
|
||||
1. Create a personal access token with the `repo` scope. Weitere Informationen finden Sie unter "[Erstellen eines persönlichen Zugriffstokens](/github/authenticating-to-github/creating-a-personal-access-token)."
|
||||
1. Store this personal access token as a secret in your repository. For more information about storing secrets, see "[Encrypted secrets](/actions/reference/encrypted-secrets)."
|
||||
1. In your workflow file, replace `PERSONAL_ACCESS_TOKEN` with the name of your secret.
|
||||
6. {% data reusables.actions.commit-workflow %}
|
||||
|
||||
### Testing the workflow
|
||||
|
||||
Whenever an issue in your repository is assigned, the issue will be moved to the specified project board column. If the issue is not already on the project board, it will be added to the project board.
|
||||
|
||||
If your repository is user-owned, the `alex-page/github-project-automation-plus` action will act on all projects in your repository or user account that have the specified project name and column. Likewise, if your repository is organization-owned, the action will act on all projects in your repository or organization that have the specified project name and column.
|
||||
|
||||
Test your workflow by assigning an issue in your repository.
|
||||
|
||||
1. Open an issue in your repository. For more information, see "[Creating an issue](/github/managing-your-work-on-github/creating-an-issue)."
|
||||
2. Assign the issue. For more information, see "[Assigning issues and pull requests to other GitHub users](/github/managing-your-work-on-github/assigning-issues-and-pull-requests-to-other-github-users)."
|
||||
3. To see the workflow run that assigning the issue triggered, view the history of your workflow runs. For more information, see "[Viewing workflow run history](/actions/managing-workflow-runs/viewing-workflow-run-history)."
|
||||
4. When the workflow completes, the issue that you assigned should be added to the specified project board column.
|
||||
|
||||
### Nächste Schritte:
|
||||
|
||||
- To learn more about additional things you can do with the `alex-page/github-project-automation-plus` action, like deleting or archiving project cards, visit the [`alex-page/github-project-automation-plus` action documentation](https://github.com/marketplace/actions/github-project-automation).
|
||||
@@ -7,6 +7,7 @@ redirect_from:
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
enterprise-server: '>=2.22'
|
||||
github-ae: '*'
|
||||
type: 'tutorial'
|
||||
topics:
|
||||
- 'Pakete erstellen'
|
||||
@@ -16,6 +17,7 @@ topics:
|
||||
|
||||
{% data reusables.actions.enterprise-beta %}
|
||||
{% data reusables.actions.enterprise-github-hosted-runners %}
|
||||
{% data reusables.actions.ae-beta %}
|
||||
|
||||
### Einführung
|
||||
|
||||
|
||||
@@ -7,6 +7,7 @@ redirect_from:
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
enterprise-server: '>=2.22'
|
||||
github-ae: '*'
|
||||
type: 'tutorial'
|
||||
topics:
|
||||
- 'Pakete erstellen'
|
||||
@@ -17,6 +18,7 @@ topics:
|
||||
|
||||
{% data reusables.actions.enterprise-beta %}
|
||||
{% data reusables.actions.enterprise-github-hosted-runners %}
|
||||
{% data reusables.actions.ae-beta %}
|
||||
|
||||
### Einführung
|
||||
|
||||
|
||||
@@ -7,6 +7,7 @@ redirect_from:
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
enterprise-server: '>=2.22'
|
||||
github-ae: '*'
|
||||
type: 'tutorial'
|
||||
topics:
|
||||
- 'Pakete erstellen'
|
||||
@@ -17,6 +18,7 @@ topics:
|
||||
|
||||
{% data reusables.actions.enterprise-beta %}
|
||||
{% data reusables.actions.enterprise-github-hosted-runners %}
|
||||
{% data reusables.actions.ae-beta %}
|
||||
|
||||
### Einführung
|
||||
|
||||
|
||||
@@ -8,6 +8,7 @@ redirect_from:
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
enterprise-server: '>=2.22'
|
||||
github-ae: '*'
|
||||
type: 'tutorial'
|
||||
topics:
|
||||
- 'Pakete erstellen'
|
||||
@@ -18,6 +19,7 @@ topics:
|
||||
|
||||
{% data reusables.actions.enterprise-beta %}
|
||||
{% data reusables.actions.enterprise-github-hosted-runners %}
|
||||
{% data reusables.actions.ae-beta %}
|
||||
|
||||
### Einführung
|
||||
|
||||
@@ -69,8 +71,8 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
# Datei .npmrc zur Veroeffentlichung auf npm einrichten
|
||||
- uses: actions/setup-node@v1
|
||||
# Setup .npmrc file to publish to npm
|
||||
- uses: actions/setup-node@v2
|
||||
with:
|
||||
node-version: '12.x'
|
||||
registry-url: 'https://registry.npmjs.org'
|
||||
@@ -130,7 +132,7 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
# Setup .npmrc file to publish to GitHub Packages
|
||||
- uses: actions/setup-node@v1
|
||||
- uses: actions/setup-node@v2
|
||||
with:
|
||||
node-version: '12.x'
|
||||
registry-url: 'https://npm.pkg.github.com'
|
||||
@@ -167,7 +169,7 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
# Setup .npmrc file to publish to npm
|
||||
- uses: actions/setup-node@v1
|
||||
- uses: actions/setup-node@v2
|
||||
with:
|
||||
node-version: '12.x'
|
||||
registry-url: 'https://registry.npmjs.org'
|
||||
|
||||
@@ -0,0 +1,75 @@
|
||||
---
|
||||
title: Removing a label when a card is added to a project board column
|
||||
intro: You can use {% data variables.product.prodname_actions %} to automatically remove a label when an issue or pull request is added to a specific column on a project board.
|
||||
product: '{% data reusables.gated-features.actions %}'
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
enterprise-server: '>=2.22'
|
||||
github-ae: '*'
|
||||
type: 'tutorial'
|
||||
topics:
|
||||
- 'Workflows'
|
||||
- 'Project management'
|
||||
---
|
||||
|
||||
{% data reusables.actions.enterprise-beta %}
|
||||
{% data reusables.actions.enterprise-github-hosted-runners %}
|
||||
{% data reusables.actions.ae-beta %}
|
||||
{% data reusables.actions.ae-self-hosted-runners-notice %}
|
||||
|
||||
### Einführung
|
||||
|
||||
This tutorial demonstrates how to use the [`andymckay/labeler` action](https://github.com/marketplace/actions/simple-issue-labeler) along with a conditional to remove a label from issues and pull requests that are added to a specific column on a project board. For example, you can remove the `needs review` label when project cards are moved into the `Done` column.
|
||||
|
||||
In the tutorial, you will first make a workflow file that uses the [`andymckay/labeler` action](https://github.com/marketplace/actions/simple-issue-labeler). Then, you will customize the workflow to suit your needs.
|
||||
|
||||
### Creating the workflow
|
||||
|
||||
1. {% data reusables.actions.choose-repo %}
|
||||
2. Choose a project that belongs to the repository. This workflow cannot be used with projects that belong to users or organizations. You can use an existing project, or you can create a new project. For more information about creating a project, see "[Creating a project board](/github/managing-your-work-on-github/creating-a-project-board)."
|
||||
3. {% data reusables.actions.make-workflow-file %}
|
||||
4. Copy the following YAML contents into your workflow file.
|
||||
|
||||
{% raw %}
|
||||
```yaml{:copy}
|
||||
name: Remove labels
|
||||
on:
|
||||
project_card:
|
||||
types:
|
||||
- moved
|
||||
jobs:
|
||||
remove_labels:
|
||||
if: github.event.project_card.column_id == '12345678'
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: remove labels
|
||||
uses: andymckay/labeler@master
|
||||
with:
|
||||
remove-labels: "needs review"
|
||||
```
|
||||
{% endraw %}
|
||||
5. Customize the parameters in your workflow file:
|
||||
- In `github.event.project_card.column_id == '12345678'`, replace `12345678` with the ID of the column where you want to un-label issues and pull requests that are moved there.
|
||||
|
||||
To find the column ID, navigate to your project board. Next to the title of the column, click {% octicon "kebab-horizontal" aria-label="The horizontal kebab icon" %} then click **Copy column link**. The column ID is the number at the end of the copied link. For example, `24687531` is the column ID for `https://github.com/octocat/octo-repo/projects/1#column-24687531`.
|
||||
|
||||
If you want to act on more than one column, separate the conditions with `||`. For example, `if github.event.project_card.column_id == '12345678' || github.event.project_card.column_id == '87654321'` will act whenever a project card is added to column `12345678` or column `87654321`. The columns may be on different project boards.
|
||||
- Change the value for `remove-labels` to the list of labels that you want to remove from issues or pull requests that are moved to the specified column(s). Separate multiple labels with commas. For example, `"help wanted, good first issue"`. For more information on labels, see "[Managing labels](/github/managing-your-work-on-github/managing-labels#applying-labels-to-issues-and-pull-requests)."
|
||||
6. {% data reusables.actions.commit-workflow %}
|
||||
|
||||
### Testing the workflow
|
||||
|
||||
Every time a project card on a project in your repository moves, this workflow will run. If the card is an issue or a pull request and is moved into the column that you specified, then the workflow will remove the specified labels from the issue or a pull request. Cards that are notes will not be affected.
|
||||
|
||||
Test your workflow out by moving an issue on your project into the target column.
|
||||
|
||||
1. Open an issue in your repository. For more information, see "[Creating an issue](/github/managing-your-work-on-github/creating-an-issue)."
|
||||
2. Label the issue with the labels that you want the workflow to remove. For more information, see "[Managing labels](/github/managing-your-work-on-github/managing-labels#applying-labels-to-issues-and-pull-requests)."
|
||||
3. Add the issue to the project column that you specified in your workflow file. Weitere Informationen finden Sie unter „[Issues und Pull Requests zu einem Projektboard hinzufügen](/github/managing-your-work-on-github/adding-issues-and-pull-requests-to-a-project-board)“.
|
||||
4. To see the workflow run that was triggered by adding the issue to the project, view the history of your workflow runs. For more information, see "[Viewing workflow run history](/actions/managing-workflow-runs/viewing-workflow-run-history)."
|
||||
5. When the workflow completes, the issue that you added to the project column should have the specified labels removed.
|
||||
|
||||
### Nächste Schritte:
|
||||
|
||||
- To learn more about additional things you can do with the `andymckay/labeler` action, like adding labels or skipping this action if the issue is assigned or has a specific label, visit the [`andymckay/labeler` action documentation](https://github.com/marketplace/actions/simple-issue-labeler).
|
||||
- [Search GitHub](https://github.com/search?q=%22uses:+andymckay/labeler%22&type=code) for examples of workflows using this action.
|
||||
@@ -0,0 +1,89 @@
|
||||
---
|
||||
title: Scheduling issue creation
|
||||
intro: You can use {% data variables.product.prodname_actions %} to create an issue on a regular basis for things like daily meetings or quarterly reviews.
|
||||
product: '{% data reusables.gated-features.actions %}'
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
enterprise-server: '>=2.22'
|
||||
github-ae: '*'
|
||||
type: 'tutorial'
|
||||
topics:
|
||||
- 'Workflows'
|
||||
- 'Project management'
|
||||
---
|
||||
|
||||
{% data reusables.actions.enterprise-beta %}
|
||||
{% data reusables.actions.enterprise-github-hosted-runners %}
|
||||
{% data reusables.actions.ae-beta %}
|
||||
{% data reusables.actions.ae-self-hosted-runners-notice %}
|
||||
|
||||
### Einführung
|
||||
|
||||
This tutorial demonstrates how to use the [`imjohnbo/issue-bot` action](https://github.com/marketplace/actions/issue-bot-action) to create an issue on a regular basis. For example, you can create an issue each week to use as the agenda for a team meeting.
|
||||
|
||||
In the tutorial, you will first make a workflow file that uses the [`imjohnbo/issue-bot` action](https://github.com/marketplace/actions/issue-bot-action). Then, you will customize the workflow to suit your needs.
|
||||
|
||||
### Creating the workflow
|
||||
|
||||
1. {% data reusables.actions.choose-repo %}
|
||||
2. {% data reusables.actions.make-workflow-file %}
|
||||
3. Copy the following YAML contents into your workflow file.
|
||||
|
||||
{% raw %}
|
||||
```yaml{:copy}
|
||||
name: Weekly Team Sync
|
||||
on:
|
||||
schedule:
|
||||
- cron: 20 07 * * 1
|
||||
|
||||
jobs:
|
||||
create_issue:
|
||||
name: Create team sync issue
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Create team sync issue
|
||||
uses: imjohnbo/issue-bot@v3.0
|
||||
with:
|
||||
assignees: "monalisa, doctocat, hubot"
|
||||
labels: "weekly sync, docs-team"
|
||||
title: "Team sync"
|
||||
body: |
|
||||
### Agenda
|
||||
|
||||
- [ ] Start the recording
|
||||
- [ ] Check-ins
|
||||
- [ ] Discussion points
|
||||
- [ ] Post the recording
|
||||
|
||||
### Discussion Points
|
||||
Add things to discuss below
|
||||
|
||||
- [Work this week](https://github.com/orgs/github/projects/3)
|
||||
pinned: false
|
||||
close-previous: false
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
```
|
||||
{% endraw %}
|
||||
4. Customize the parameters in your workflow file:
|
||||
- Change the value for `on.schedule` to dictate when you want this workflow to run. In the example above, the workflow will run every Monday at 7:20 UTC. For more information about scheduled workflows, see "[Scheduled events](/actions/reference/events-that-trigger-workflows#scheduled-events)."
|
||||
- Change the value for `assignees` to the list of {% data variables.product.prodname_dotcom %} usernames that you want to assign to the issue.
|
||||
- Change the value for `labels` to the list of labels that you want to apply to the issue.
|
||||
- Change the value for `title` to the title that you want the issue to have.
|
||||
- Change the value for `body` to the text that you want in the issue body. The `|` character allows you to use a multi-line value for this parameter.
|
||||
- If you want to pin this issue in your repository, set `pinned` to `true`. For more information about pinned issues, see "[Pinning an issue to your repository](/articles/pinning-an-issue-to-your-repository)."
|
||||
- If you want to close the previous issue generated by this workflow each time a new issue is created, set `close-previous` to `true`. The workflow will close the most recent issue that has the labels defined in the `labels` field. To avoid closing the wrong issue, use a unique label or combination of labels.
|
||||
5. {% data reusables.actions.commit-workflow %}
|
||||
|
||||
### Expected results
|
||||
|
||||
Based on the `schedule` parameter (for example, every Monday at 7:20 UTC), your workflow will create a new issue with the assignees, labels, title, and body that you specified. If you set `pinned` to `true`, the workflow will pin the issue to your repository. If you set `close-previous` to true, the workflow will close the most recent issue with matching labels.
|
||||
|
||||
{% data reusables.actions.schedule-delay %}
|
||||
|
||||
You can view the history of your workflow runs to see this workflow run periodically. For more information, see "[Viewing workflow run history](/actions/managing-workflow-runs/viewing-workflow-run-history)."
|
||||
|
||||
### Nächste Schritte:
|
||||
|
||||
- To learn more about additional things you can do with the `imjohnbo/issue-bot` action, like rotating assignees or using an issue template, see the [`imjohnbo/issue-bot` action documentation](https://github.com/marketplace/actions/issue-bot-action).
|
||||
- [Search GitHub](https://github.com/search?q=%22uses%3A+imjohnbo%2Fissue-bot%22&type=code) for examples of workflows using this action.
|
||||
@@ -11,6 +11,7 @@ redirect_from:
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
enterprise-server: '>=2.22'
|
||||
github-ae: '*'
|
||||
type: 'tutorial'
|
||||
topics:
|
||||
- 'Workflows'
|
||||
@@ -18,6 +19,7 @@ topics:
|
||||
|
||||
{% data reusables.actions.enterprise-beta %}
|
||||
{% data reusables.actions.enterprise-github-hosted-runners %}
|
||||
{% data reusables.actions.ae-beta %}
|
||||
|
||||
### Informationen zu Workflow-Artefakten
|
||||
|
||||
@@ -111,7 +113,7 @@ jobs:
|
||||
pfad: output/test/code-coverage.html
|
||||
```
|
||||
|
||||
{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %}
|
||||
{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %}
|
||||
### Configuring a custom artifact retention period
|
||||
|
||||
You can define a custom retention period for individual artifacts created by a workflow. When using a workflow to create a new artifact, you can use `retention-days` with the `upload-artifact` action. This example demonstrates how to set a custom retention period of 5 days for the artifact named `my-artifact`:
|
||||
@@ -240,7 +242,7 @@ Jobs:
|
||||
```
|
||||
|
||||
The workflow run will archive any artifacts that it generated. For more information on downloading archived artifacts, see "[Downloading workflow artifacts](/actions/managing-workflow-runs/downloading-workflow-artifacts)."
|
||||
{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}
|
||||
{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %}
|
||||

|
||||
{% else %}
|
||||

|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
---
|
||||
title: Using GitHub Actions for project management
|
||||
intro: 'You can use {% data variables.product.prodname_actions %} to automate many of your project management tasks.'
|
||||
product: '{% data reusables.gated-features.actions %}'
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
enterprise-server: '>=2.22'
|
||||
github-ae: '*'
|
||||
type: overview
|
||||
topics:
|
||||
- Project management
|
||||
---
|
||||
|
||||
You can use {% data variables.product.prodname_actions %} to automate your project management tasks by creating workflows. Each workflow contains a series of tasks that are performed automatically every time the workflow runs. For example, you can create a workflow that runs every time an issue is created to add a label, leave a comment, and move the issue onto a project board.
|
||||
|
||||
### When do workflows run?
|
||||
|
||||
You can configure your workflows to run on a schedule or be triggered when an event occurs. For example, you can set your workflow to run when someone creates an issue in a repository.
|
||||
|
||||
Many workflow triggers are useful for automating project management.
|
||||
|
||||
- An issue is opened, assigned, or labeled.
|
||||
- A comment is added to an issue.
|
||||
- A project card is created or moved.
|
||||
- A scheduled time.
|
||||
|
||||
For a full list of events that can trigger workflows, see "[Events that trigger workflows](/actions/reference/events-that-trigger-workflows)."
|
||||
|
||||
### What can workflows do?
|
||||
|
||||
Workflows can do many things, such as commenting on an issue, adding or removing labels, moving cards on project boards, and opening issues.
|
||||
|
||||
You can learn about using {% data variables.product.prodname_actions %} for project management by following these tutorials, which include example workflows that you can adapt to meet your needs.
|
||||
|
||||
- "[Adding labels to issues](/actions/guides/adding-labels-to-issues)"
|
||||
- "[Removing a label when a card is added to a project board column](/actions/guides/removing-a-label-when-a-card-is-added-to-a-project-board-column)"
|
||||
- "[Moving assigned issues on project boards](/actions/guides/moving-assigned-issues-on-project-boards)"
|
||||
- "[Commenting on an issue when a label is added](/actions/guides/commenting-on-an-issue-when-a-label-is-added)"
|
||||
- "[Closing inactive issues](/actions/guides/closing-inactive-issues)"
|
||||
- "[Scheduling issue creation](/actions/guides/scheduling-issue-creation)"
|
||||
@@ -7,11 +7,14 @@ redirect_from:
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
enterprise-server: '>=2.22'
|
||||
github-ae: '*'
|
||||
type: overview
|
||||
---
|
||||
|
||||
{% data reusables.actions.ae-self-hosted-runners-notice %}
|
||||
{% data reusables.actions.enterprise-beta %}
|
||||
{% data reusables.actions.enterprise-github-hosted-runners %}
|
||||
{% data reusables.actions.ae-beta %}
|
||||
|
||||
### Informationen zu selbst-gehosteten Runnern
|
||||
|
||||
@@ -49,7 +52,7 @@ For more information about installing and using self-hosted runners, see "[Addin
|
||||
|
||||
You can use any machine as a self-hosted runner as long at it meets these requirements:
|
||||
|
||||
* Du kannst die Anwendung für selbst-gehostete Runner auf dem Rechner installieren und ausführen. Weitere Informationen findest Du unter „[Unterstützte Betriebssysteme für selbst-gehostete Runner](#supported-operating-systems-for-self-hosted-runners)“.
|
||||
* Du kannst die Anwendung für selbst-gehostete Runner auf dem Rechner installieren und ausführen. For more information, see "[Supported architectures and operating systems for self-hosted runners](#supported-architectures-and-operating-systems-for-self-hosted-runners)."
|
||||
* Die Maschine kann mit {% data variables.product.prodname_actions %} kommunizieren. Weitere Informationen findest Du unter „[Kommunikation zwischen selbst-gehosteten Runnern und {% data variables.product.prodname_dotcom %}](#communication-between-self-hosted-runners-and-github)“.
|
||||
* Der Rechner verfügt über genügend Hardwareressourcen für den Typ der Workflows, den Du ausführen möchtest. Die Anwendung für selbst-gehostete Runner selbst erfordert nur minimale Ressourcen.
|
||||
* Wenn Du Workflows ausführen willst, die Docker-Container-Aktionen oder Service-Container verwenden, brauchst Du eine Linux-Maschine und Docker muss installiert sein.
|
||||
@@ -63,6 +66,10 @@ There are some limits on {% data variables.product.prodname_actions %} usage whe
|
||||
{% data reusables.github-actions.usage-api-requests %}
|
||||
- **Auftrags-Matrix** - {% data reusables.github-actions.usage-matrix-limits %}
|
||||
|
||||
### Workflow continuity for self-hosted runners
|
||||
|
||||
{% data reusables.github-actions.runner-workflow-continuity %}
|
||||
|
||||
### Supported architectures and operating systems for self-hosted runners
|
||||
|
||||
The following operating systems are supported for the self-hosted runner application.
|
||||
@@ -112,6 +119,15 @@ Die Maschine kann mit {% data variables.product.prodname_actions %} kommuniziere
|
||||
|
||||
The self-hosted runner polls {% data variables.product.prodname_dotcom %} to retrieve application updates and to check if any jobs are queued for processing. The self-hosted runner uses a HTTPS _long poll_ that opens a connection to {% data variables.product.prodname_dotcom %} for 50 seconds, and if no response is received, it then times out and creates a new long poll. The application must be running on the machine to accept and run {% data variables.product.prodname_actions %} jobs.
|
||||
|
||||
{% if currentVersion == "github-ae@latest" %}
|
||||
You must ensure that the self-hosted runner has appropriate network access to communicate with the
|
||||
{% data variables.product.prodname_ghe_managed %} URL.
|
||||
For example, if your instance name is `octoghae`, then you will need to allow the self-hosted runner to access `octoghae.github.com`.
|
||||
If you use an IP address allow list for your
|
||||
|
||||
{% data variables.product.prodname_dotcom %} organization or enterprise account, you must add your self-hosted runner's IP address to the allow list. Weitere Informationen findest Du auf „[Zugelassene IP-Adressen für Deine Organisation verwalten](/github/setting-up-and-managing-organizations-and-teams/managing-allowed-ip-addresses-for-your-organization#using-github-actions-with-an-ip-allow-list)."
|
||||
{% endif %}
|
||||
|
||||
{% if currentVersion == "free-pro-team@latest" %}
|
||||
|
||||
Du musst sicherstellen, dass der Rechner über den entsprechenden Netzwerkzugriff verfügt, um mit den nachfolgend aufgelisteten {% data variables.product.prodname_dotcom %}-URLs zu kommunizieren.
|
||||
@@ -121,7 +137,12 @@ github.com
|
||||
api.github.com
|
||||
*.actions.githubusercontent.com
|
||||
github-releases.githubusercontent.com
|
||||
github-registry-files.githubusercontent.com
|
||||
codeload.github.com
|
||||
*.pkg.github.com
|
||||
pkg-cache.githubusercontent.com
|
||||
pkg-containers.githubusercontent.com
|
||||
pkg-containers-az.githubusercontent.com
|
||||
```
|
||||
|
||||
If you use an IP address allow list for your {% data variables.product.prodname_dotcom %} organization or enterprise account, you must add your self-hosted runner's IP address to the allow list. For more information, see "[Managing allowed IP addresses for your organization](/github/setting-up-and-managing-organizations-and-teams/managing-allowed-ip-addresses-for-your-organization#using-github-actions-with-an-ip-allow-list)" or "[Enforcing security settings in your enterprise account](/github/setting-up-and-managing-your-enterprise/enforcing-security-settings-in-your-enterprise-account#using-github-actions-with-an-ip-allow-list)".
|
||||
|
||||
@@ -7,11 +7,14 @@ redirect_from:
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
enterprise-server: '>=2.22'
|
||||
github-ae: '*'
|
||||
type: 'tutorial'
|
||||
---
|
||||
|
||||
{% data reusables.actions.ae-self-hosted-runners-notice %}
|
||||
{% data reusables.actions.enterprise-beta %}
|
||||
{% data reusables.actions.enterprise-github-hosted-runners %}
|
||||
{% data reusables.actions.ae-beta %}
|
||||
|
||||
Du kannst einen selbst-gehosteten Runner zu {{ site.data.variables.product.prodname_actions }} hinzufügen.
|
||||
|
||||
@@ -57,7 +60,7 @@ You can add self-hosted runners to an enterprise, where they can be assigned to
|
||||
|
||||
{% if currentVersion == "free-pro-team@latest" %}
|
||||
To add a self-hosted runner to an enterprise account, you must be an enterprise owner.
|
||||
{% elsif enterpriseServerVersions contains currentVersion and currentVersion ver_gt "enterprise-server@2.21"%}
|
||||
{% elsif enterpriseServerVersions contains currentVersion and currentVersion ver_gt "enterprise-server@2.21" or currentVersion == "github-ae@latest" %}
|
||||
To add a self-hosted runner at the enterprise level of
|
||||
{% data variables.product.product_location %}, you must be a site administrator.
|
||||
{% endif %}
|
||||
|
||||
@@ -6,12 +6,15 @@ redirect_from:
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
enterprise-server: '>=2.22'
|
||||
github-ae: '*'
|
||||
type: 'tutorial'
|
||||
defaultPlatform: linux
|
||||
---
|
||||
|
||||
{% data reusables.actions.ae-self-hosted-runners-notice %}
|
||||
{% data reusables.actions.enterprise-beta %}
|
||||
{% data reusables.actions.enterprise-github-hosted-runners %}
|
||||
{% data reusables.actions.ae-beta %}
|
||||
|
||||
{% capture service_first_step %}1. Beende die Anwendung für selbst-gehostete Runner, falls sie gerade läuft.{% endcapture %}
|
||||
{% capture service_non_windows_intro_shell %}Öffne auf der Runner-Maschine eine Shell in dem Verzeichnis, in dem Du die Anwendung für selbst-gehostete Runner installiert hast. Verwende die folgenden Befehle, um den Dienst für selbst-gehosteten Runner zu installieren und zu verwalten.{% endcapture %}
|
||||
|
||||
@@ -7,10 +7,13 @@ redirect_from:
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
enterprise-server: '>=2.22'
|
||||
github-ae: '*'
|
||||
---
|
||||
|
||||
{% data reusables.actions.ae-self-hosted-runners-notice %}
|
||||
{% data reusables.actions.enterprise-beta %}
|
||||
{% data reusables.actions.enterprise-github-hosted-runners %}
|
||||
{% data reusables.actions.ae-beta %}
|
||||
|
||||
{% link_in_list /about-self-hosted-runners %}
|
||||
{% link_in_list /adding-self-hosted-runners %}
|
||||
|
||||
@@ -6,11 +6,14 @@ redirect_from:
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
enterprise-server: '>=2.22'
|
||||
github-ae: '*'
|
||||
type: 'tutorial'
|
||||
---
|
||||
|
||||
{% data reusables.actions.ae-self-hosted-runners-notice %}
|
||||
{% data reusables.actions.enterprise-beta %}
|
||||
{% data reusables.actions.enterprise-github-hosted-runners %}
|
||||
{% data reusables.actions.ae-beta %}
|
||||
|
||||
### About self-hosted runner groups
|
||||
|
||||
@@ -44,7 +47,7 @@ When creating a group, you must choose a policy that defines which repositories
|
||||

|
||||
1. Enter a name for your runner group, and assign a policy for repository access.
|
||||
|
||||
{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %} You can configure a runner group to be accessible to a specific list of repositories, or to all repositories in the organization. By default, public repositories can't access runners in a runner group, but you can use the **Allow public repositories** option to override this.{% else if currentVersion == "enterprise-server@2.22"%}You can configure a runner group to be accessible to a specific list of repositories, all private repositories, or all repositories in the organization.{% endif %}
|
||||
{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %} You can configure a runner group to be accessible to a specific list of repositories, or to all repositories in the organization. By default, only private repositories can access runners in a runner group, but you can override this.{% elsif currentVersion == "enterprise-server@2.22"%}You can configure a runner group to be accessible to a specific list of repositories, all private repositories, or all repositories in the organization.{% endif %}
|
||||
|
||||
{% warning %}
|
||||
|
||||
@@ -76,7 +79,7 @@ When creating a group, you must choose a policy that defines which organizations
|
||||

|
||||
1. Enter a name for your runner group, and assign a policy for organization access.
|
||||
|
||||
{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %} You can configure a runner group to be accessible to a specific list of organizations, or all organizations in the enterprise. By default, public repositories can't access runners in a runner group, but you can use the **Allow public repositories** option to override this.{% else if currentVersion == "enterprise-server@2.22"%}You can configure a runner group to be accessible to all organizations in the enterprise or choose specific organizations.{% endif %}
|
||||
{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %} You can configure a runner group to be accessible to a specific list of organizations, or all organizations in the enterprise. By default, only private repositories can access runners in a runner group, but you can override this.{% elsif currentVersion == "enterprise-server@2.22"%}You can configure a runner group to be accessible to all organizations in the enterprise or choose specific organizations.{% endif %}
|
||||
|
||||
{% warning %}
|
||||
|
||||
@@ -101,7 +104,7 @@ You can update the access policy of a runner group, or rename a runner group.
|
||||
|
||||
New self-hosted runners are automatically assigned to the default group, and can then be moved to another group.
|
||||
|
||||
1. In the **Self-hosted runners** section of the settings page, locate the current group of the runner you want to move group and expand the list of group members. 
|
||||
1. In the **Self-hosted runners** section of the settings page, locate the current group of the runner you want to move and expand the list of group members. 
|
||||
1. Select the checkbox next to the self-hosted runner, and then click **Move to group** to see the available destinations. 
|
||||
1. To move the runner, click on the destination group. 
|
||||
|
||||
|
||||
@@ -8,12 +8,15 @@ redirect_from:
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
enterprise-server: '>=2.22'
|
||||
github-ae: '*'
|
||||
type: 'tutorial'
|
||||
defaultPlatform: linux
|
||||
---
|
||||
|
||||
{% data reusables.actions.ae-self-hosted-runners-notice %}
|
||||
{% data reusables.actions.enterprise-beta %}
|
||||
{% data reusables.actions.enterprise-github-hosted-runners %}
|
||||
{% data reusables.actions.ae-beta %}
|
||||
|
||||
### Den Status eines selbst-gehosteten Runners mittels {{ site.data.variables.product.prodname_dotcom }} überprüfen
|
||||
|
||||
|
||||
@@ -7,11 +7,14 @@ redirect_from:
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
enterprise-server: '>=2.22'
|
||||
github-ae: '*'
|
||||
type: 'tutorial'
|
||||
---
|
||||
|
||||
{% data reusables.actions.ae-self-hosted-runners-notice %}
|
||||
{% data reusables.actions.enterprise-beta %}
|
||||
{% data reusables.actions.enterprise-github-hosted-runners %}
|
||||
{% data reusables.actions.ae-beta %}
|
||||
|
||||
### Einen Runner aus einem Repository entfernen
|
||||
|
||||
@@ -63,7 +66,7 @@ Um einen selbst-gehosteten Runner aus einer Organisation zu entfernen, musst Du
|
||||
|
||||
{% if currentVersion == "free-pro-team@latest" %}
|
||||
To remove a self-hosted runner from an enterprise account, you must be an enterprise owner. We recommend that you also have access to the self-hosted runner machine.
|
||||
{% elsif enterpriseServerVersions contains currentVersion and currentVersion ver_gt "enterprise-server@2.21"%}
|
||||
{% elsif enterpriseServerVersions contains currentVersion and currentVersion ver_gt "enterprise-server@2.21"% or currentVersion == "github-ae@latest" }
|
||||
To remove a self-hosted runner at the enterprise level of
|
||||
{% data variables.product.product_location %}, you must be a site administrator. We recommend that you also have access to the self-hosted runner machine.
|
||||
{% endif %}
|
||||
|
||||
@@ -6,11 +6,14 @@ redirect_from:
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
enterprise-server: '>=2.22'
|
||||
github-ae: '*'
|
||||
type: 'tutorial'
|
||||
---
|
||||
|
||||
{% data reusables.actions.ae-self-hosted-runners-notice %}
|
||||
{% data reusables.actions.enterprise-beta %}
|
||||
{% data reusables.actions.enterprise-github-hosted-runners %}
|
||||
{% data reusables.actions.ae-beta %}
|
||||
|
||||
### Einen Proxyserver mithilfe von Umgebungsvariablen konfigurieren
|
||||
|
||||
|
||||
@@ -4,11 +4,14 @@ intro: Mit Labels kannst Du Deine selbst-gehosteten Runner nach ihren Eigenschaf
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
enterprise-server: '>=2.22'
|
||||
github-ae: '*'
|
||||
type: 'tutorial'
|
||||
---
|
||||
|
||||
{% data reusables.actions.ae-self-hosted-runners-notice %}
|
||||
{% data reusables.actions.enterprise-beta %}
|
||||
{% data reusables.actions.enterprise-github-hosted-runners %}
|
||||
{% data reusables.actions.ae-beta %}
|
||||
|
||||
Informationen zum Einsatz von Labels zur Weiterleitung von Jobs an bestimmte Typen von selbst-gehosteten Runnern findest Du unter „[Nutze selbstgehostete Läufer in einem Workflow](/actions/hosting-your-own-runners/using-self-hosted-runners-in-a-workflow)“.
|
||||
|
||||
|
||||
@@ -7,11 +7,14 @@ redirect_from:
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
enterprise-server: '>=2.22'
|
||||
github-ae: '*'
|
||||
type: 'tutorial'
|
||||
---
|
||||
|
||||
{% data reusables.actions.ae-self-hosted-runners-notice %}
|
||||
{% data reusables.actions.enterprise-beta %}
|
||||
{% data reusables.actions.enterprise-github-hosted-runners %}
|
||||
{% data reusables.actions.ae-beta %}
|
||||
|
||||
Informationen zum Erstellen benutzerdefinierter und Standard-Labels findest Du unter „[Labels mit selbst-gehosteten Runnern verwenden](/actions/hosting-your-own-runners/using-labels-with-self-hosted-runners)“.
|
||||
|
||||
@@ -66,7 +69,7 @@ Diese Labels funktionieren kumulativ, so dass die Labels eines selbst-gehosteten
|
||||
|
||||
When routing a job to a self-hosted runner, {% data variables.product.prodname_dotcom %} looks for a runner that matches the job's `runs-on` labels:
|
||||
|
||||
1. {% data variables.product.prodname_dotcom %} first searches for a runner at the repository level, then at the organization level{% if currentVersion ver_gt "enterprise-server@2.21" %}, then at the enterprise level{% endif %}.
|
||||
1. {% data variables.product.prodname_dotcom %} first searches for a runner at the repository level, then at the organization level{% if currentVersion ver_gt "enterprise-server@2.21" or currentVersion == "github-ae@latest" %}, then at the enterprise level{% endif %}.
|
||||
2. The job is then sent to the first matching runner that is online and idle.
|
||||
- If all matching online runners are busy, the job will queue at the level with the highest number of matching online runners.
|
||||
- If all matching runners are offline, the job will queue at the level with the highest number of matching offline runners.
|
||||
|
||||
@@ -46,6 +46,7 @@ layout: product-landing
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
enterprise-server: '>=2.22'
|
||||
github-ae: '*'
|
||||
---
|
||||
|
||||
<!-- {% link_with_intro /quickstart %} -->
|
||||
@@ -53,6 +54,7 @@ versions:
|
||||
<!-- {% link_with_intro /learn-github-actions %} -->
|
||||
<!-- {% link_with_intro /managing-workflow-runs %} -->
|
||||
<!-- {% link_with_intro /creating-actions %} -->
|
||||
<!-- {% link_with_intro /using-github-hosted-runners %} -->
|
||||
<!-- {% link_with_intro /hosting-your-own-runners %} -->
|
||||
<!-- {% link_with_intro /reference %} -->
|
||||
|
||||
|
||||
@@ -5,6 +5,7 @@ intro: '{% data variables.product.prodname_actions %} are designed to help you b
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
enterprise-server: '>=2.22'
|
||||
github-ae: '*'
|
||||
type: overview
|
||||
topics:
|
||||
- Fundamentals
|
||||
@@ -12,6 +13,7 @@ topics:
|
||||
|
||||
{% data reusables.actions.enterprise-beta %}
|
||||
{% data reusables.actions.enterprise-github-hosted-runners %}
|
||||
{% data reusables.actions.ae-beta %}
|
||||
|
||||
### Übersicht
|
||||
|
||||
@@ -73,7 +75,7 @@ jobs:
|
||||
run: |
|
||||
expr 1 + 1 > output.log
|
||||
- name: Upload output file
|
||||
uses: actions/upload-artifact@v1
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: output-log-file
|
||||
path: output.log
|
||||
|
||||
@@ -10,6 +10,7 @@ redirect_from:
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
enterprise-server: '>=2.22'
|
||||
github-ae: '*'
|
||||
type: 'how_to'
|
||||
topics:
|
||||
- 'Fundamentals'
|
||||
@@ -17,6 +18,7 @@ topics:
|
||||
|
||||
{% data reusables.actions.enterprise-beta %}
|
||||
{% data reusables.actions.enterprise-github-hosted-runners %}
|
||||
{% data reusables.actions.ae-beta %}
|
||||
|
||||
### Übersicht
|
||||
|
||||
@@ -70,7 +72,7 @@ Schritte:
|
||||
|
||||
#### Using SHAs
|
||||
|
||||
If you need more reliable versioning, you should use the SHA value associated with the version of the action. SHAs are immutable and therefore more reliable than tags or branches. However this approach means you will not automatically receive updates for an action, including important bug fixes and security updates. {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}You must use a commit's full SHA value, and not an abbreviated value. {% endif %}This example targets an action's SHA:
|
||||
If you need more reliable versioning, you should use the SHA value associated with the version of the action. SHAs are immutable and therefore more reliable than tags or branches. However this approach means you will not automatically receive updates for an action, including important bug fixes and security updates. {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %}You must use a commit's full SHA value, and not an abbreviated value. {% endif %}This example targets an action's SHA:
|
||||
|
||||
```yaml
|
||||
Schritte:
|
||||
@@ -109,6 +111,13 @@ outputs:
|
||||
description: "Path to results file"
|
||||
```
|
||||
|
||||
{% if currentVersion == "github-ae@latest" %}
|
||||
### Using the actions included with {% data variables.product.prodname_ghe_managed %}
|
||||
By default, you can use most of the official
|
||||
|
||||
{% data variables.product.prodname_dotcom %}-authored actions in {% data variables.product.prodname_ghe_managed %}. For more information, see "[Using actions in {% data variables.product.prodname_ghe_managed %}](/admin/github-actions/using-actions-in-github-ae)."
|
||||
{% endif %}
|
||||
|
||||
### Verweisen auf eine Aktion im selben Repository, in dem eine Workflowdatei die Aktion verwendet
|
||||
|
||||
Wenn eine Aktion im selben Repository definiert ist, in dem Ihre Workflowdatei die Aktion verwendet, können Sie auf die Aktion mit der`{owner}/{repo}-{ref}` oder `./path/to/dir-` Syntax in ihrer Workflowdatei verweisen.
|
||||
|
||||
@@ -28,6 +28,7 @@ redirect_from:
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
enterprise-server: '>=2.22'
|
||||
github-ae: '*'
|
||||
---
|
||||
|
||||
{% link_with_intro /introduction-to-github-actions %}
|
||||
@@ -40,4 +41,4 @@ versions:
|
||||
{% link_with_intro /migrating-from-circleci-to-github-actions %}
|
||||
{% link_with_intro /migrating-from-gitlab-cicd-to-github-actions %}
|
||||
{% link_with_intro /migrating-from-jenkins-to-github-actions %}
|
||||
{% link_with_intro /migrating-from-travis-ci-to-github-actions %}
|
||||
{% link_with_intro /migrating-from-travis-ci-to-github-actions %}
|
||||
|
||||
@@ -9,6 +9,7 @@ redirect_from:
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
enterprise-server: '>=2.22'
|
||||
github-ae: '*'
|
||||
type: overview
|
||||
topics:
|
||||
- Fundamentals
|
||||
@@ -16,6 +17,7 @@ topics:
|
||||
|
||||
{% data reusables.actions.enterprise-beta %}
|
||||
{% data reusables.actions.enterprise-github-hosted-runners %}
|
||||
{% data reusables.actions.ae-beta %}
|
||||
|
||||
### Übersicht
|
||||
|
||||
@@ -53,9 +55,11 @@ _Actions_ are standalone commands that are combined into _steps_ to create a _jo
|
||||
|
||||
#### Runners
|
||||
|
||||
A runner is a server that has the [{% data variables.product.prodname_actions %} runner application](https://github.com/actions/runner) installed. You can use a runner hosted by {% data variables.product.prodname_dotcom %}, or you can host your own. A runner listens for available jobs, runs one job at a time, and reports the progress, logs, and results back to {% data variables.product.prodname_dotcom %}. For {% data variables.product.prodname_dotcom %}-hosted runners, each job in a workflow runs in a fresh virtual environment.
|
||||
|
||||
{% data variables.product.prodname_dotcom %}-hosted runners are based on Ubuntu Linux, Microsoft Windows, and macOS. For information on {% data variables.product.prodname_dotcom %}-hosted runners, see "[Virtual environments for {% data variables.product.prodname_dotcom %}-hosted runners](/actions/reference/virtual-environments-for-github-hosted-runners)." If you need a different operating system or require a specific hardware configuration, you can host your own runners. For information on self-hosted runners, see "[Hosting your own runners](/actions/hosting-your-own-runners)."
|
||||
{% if currentVersion == "github-ae@latest" %}A runner is a server that has the [{% data variables.product.prodname_actions %} runner application](https://github.com/actions/runner) installed. For {% data variables.product.prodname_ghe_managed %}, you can use the security hardened {% data variables.actions.hosted_runner %}s which are bundled with your instance in the cloud. A runner listens for available jobs, runs one job at a time, and reports the progress, logs, and results back to {% data variables.product.prodname_dotcom %}. {% data variables.actions.hosted_runner %}s run each workflow job in a fresh virtual environment. For more information, see "[About {% data variables.actions.hosted_runner %}s](/actions/using-github-hosted-runners/about-ae-hosted-runners)."
|
||||
{% else %}
|
||||
A runner is a server that has the [{% data variables.product.prodname_actions %} runner application](https://github.com/actions/runner) installed. You can use a runner hosted by
|
||||
{% data variables.product.prodname_dotcom %}, or you can host your own. A runner listens for available jobs, runs one job at a time, and reports the progress, logs, and results back to {% data variables.product.prodname_dotcom %}. {% data variables.product.prodname_dotcom %}-hosted runners are based on Ubuntu Linux, Microsoft Windows, and macOS, and each job in a workflow runs in a fresh virtual environment. For information on {% data variables.product.prodname_dotcom %}-hosted runners, see "[About {% data variables.product.prodname_dotcom %}-hosted runners](/actions/using-github-hosted-runners/about-github-hosted-runners)." If you need a different operating system or require a specific hardware configuration, you can host your own runners. For information on self-hosted runners, see "[Hosting your own runners](/actions/hosting-your-own-runners)."
|
||||
{% endif %}
|
||||
|
||||
### Create an example workflow
|
||||
|
||||
@@ -207,16 +211,16 @@ In this diagram, you can see the workflow file you just created and how the {% d
|
||||
|
||||
### Viewing the job's activity
|
||||
|
||||
Once your job has started running, you can {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}see a visualization graph of the run's progress and {% endif %}view each step's activity on {% data variables.product.prodname_dotcom %}.
|
||||
Once your job has started running, you can {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %}see a visualization graph of the run's progress and {% endif %}view each step's activity on {% data variables.product.prodname_dotcom %}.
|
||||
|
||||
{% data reusables.repositories.navigate-to-repo %}
|
||||
1. Klicke unter Deinem Repository-Namen auf **Actions** (Aktionen). 
|
||||
1. In the left sidebar, click the workflow you want to see. 
|
||||
1. Under "Workflow runs", click the name of the run you want to see. 
|
||||
{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}
|
||||
{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %}
|
||||
1. Under **Jobs** or in the visualization graph, click the job you want to see. 
|
||||
{% endif %}
|
||||
{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}
|
||||
{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %}
|
||||
1. View the results of each step. 
|
||||
{% elsif currentVersion ver_gt "enterprise-server@2.22" %}
|
||||
1. Click on the job name to see the results of each step. 
|
||||
|
||||
@@ -1,10 +1,11 @@
|
||||
---
|
||||
title: Managing complex workflows
|
||||
shortTitle: Managing complex workflows
|
||||
intro: 'This guide shows you how to use the advanced features of {% data variables.product.prodname_actions %}, with secret management, dependent jobs, caching, build matrices,{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %} environments,{% endif %} and labels.'
|
||||
intro: 'This guide shows you how to use the advanced features of {% data variables.product.prodname_actions %}, with secret management, dependent jobs, caching, build matrices,{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %} environments,{% endif %} and labels.'
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
enterprise-server: '>=2.22'
|
||||
github-ae: '*'
|
||||
type: 'how_to'
|
||||
topics:
|
||||
- 'Workflows'
|
||||
@@ -12,6 +13,7 @@ topics:
|
||||
|
||||
{% data reusables.actions.enterprise-beta %}
|
||||
{% data reusables.actions.enterprise-github-hosted-runners %}
|
||||
{% data reusables.actions.ae-beta %}
|
||||
|
||||
### Übersicht
|
||||
|
||||
@@ -86,6 +88,7 @@ jobs:
|
||||
|
||||
For more information, see [`jobs.<job_id>.strategy.matrix`](/actions/reference/workflow-syntax-for-github-actions#jobsjob_idstrategymatrix).
|
||||
|
||||
{% if currentVersion == "free-pro-team@latest" %}
|
||||
### Abhängigkeiten „cachen“ (zwischenspeichern)
|
||||
|
||||
{% data variables.product.prodname_dotcom %}-hosted runners are started as fresh environments for each job, so if your jobs regularly reuse dependencies, you can consider caching these files to help improve performance. Once the cache is created, it is available to all workflows in the same repository.
|
||||
@@ -110,6 +113,7 @@ jobs:
|
||||
{% endraw %}
|
||||
|
||||
Weitere Informationen findest Du unter „<a href="/actions/guides/caching-dependencies-to-speed-up-workflows" class="dotcom-only">Abhängigkeiten zur Beschleunigung von Workflows im Cache zwischenspeichern</a>“.
|
||||
{% endif %}
|
||||
|
||||
### Datenbanken und Service-Container verwenden
|
||||
|
||||
@@ -139,17 +143,27 @@ For more information, see "[Using databases and service containers](/actions/con
|
||||
|
||||
### Using labels to route workflows
|
||||
|
||||
This feature helps you assign jobs to a specific self-hosted runner. If you want to be sure that a particular type of runner will process your job, you can use labels to control where jobs are executed. You can assign labels to a self-hosted runner, and then refer to these labels in your YAML workflow, ensuring that the job is routed in a predictable way.
|
||||
This feature helps you assign jobs to a specific hosted runner. If you want to be sure that a particular type of runner will process your job, you can use labels to control where jobs are executed. You can assign labels to a hosted runner, and then refer to these labels in your YAML workflow, ensuring that the job is routed in a predictable way.
|
||||
|
||||
{% if currentVersion == "github-ae@latest" %}
|
||||
This example shows how a workflow can use labels to specify the required runner:
|
||||
|
||||
```yaml
|
||||
jobs:
|
||||
example-job:
|
||||
runs-on: [AE-runner-for-CI]
|
||||
```
|
||||
|
||||
For more information, see ["Using labels with {% data variables.actions.hosted_runner %}](/actions/using-github-hosted-runners/using-labels-with-ae-hosted-runners)."
|
||||
{% else %}
|
||||
```yaml
|
||||
jobs:
|
||||
example-job:
|
||||
runs-on: [self-hosted, linux, x64, gpu]
|
||||
```
|
||||
|
||||
For more information, see ["Using labels with self-hosted runners](/actions/hosting-your-own-runners/using-labels-with-self-hosted-runners)."
|
||||
For more information, see ["Using labels with self-hosted runners](/actions/hosting-your-own-runners/using-labels-with-self-hosted-runners)."
|
||||
{% endif %}
|
||||
|
||||
{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}
|
||||
### Using environments
|
||||
|
||||
@@ -6,6 +6,7 @@ redirect_from:
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
enterprise-server: '>=2.22'
|
||||
github-ae: '*'
|
||||
type: 'tutorial'
|
||||
topics:
|
||||
- 'Azure-Pipelines'
|
||||
@@ -16,6 +17,7 @@ topics:
|
||||
|
||||
{% data reusables.actions.enterprise-beta %}
|
||||
{% data reusables.actions.enterprise-github-hosted-runners %}
|
||||
{% data reusables.actions.ae-beta %}
|
||||
|
||||
### Einführung
|
||||
|
||||
|
||||
@@ -6,6 +6,7 @@ redirect_from:
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
enterprise-server: '>=2.22'
|
||||
github-ae: '*'
|
||||
type: 'tutorial'
|
||||
topics:
|
||||
- 'CircleCI'
|
||||
@@ -16,6 +17,7 @@ topics:
|
||||
|
||||
{% data reusables.actions.enterprise-beta %}
|
||||
{% data reusables.actions.enterprise-github-hosted-runners %}
|
||||
{% data reusables.actions.ae-beta %}
|
||||
|
||||
### Einführung
|
||||
|
||||
@@ -33,7 +35,9 @@ Weitere Informationen findest Du unter „[Kernkonzepte für {% data variables.p
|
||||
Betrachte bei der Migration von CircleCI folgende Unterschiede:
|
||||
|
||||
- Die automatische Testparallelität des CircleCI gruppiert die Tests automatisch nach benutzerdefinierten Regeln oder historischen Zeitinformationen. Diese Funktionalität ist in {% data variables.product.prodname_actions %} nicht eingebaut.
|
||||
- Aktionen, die in Docker-Containern ausgeführt werden, sind sensibel für Berechtigungsprobleme, da Container eine andere Zuordnung von Benutzern haben. Du kannst viele dieser Probleme vermeiden, indem Du die Anweisung `USER` in Deinem *Dockerfile* nicht verwendest. Weitere Informationen über das Docker-Dateisystem findest Du unter „[Virtuelle Umgebungen für {% data variables.product.product_name %}-gehostete Runner](/actions/reference/virtual-environments-for-github-hosted-runners#docker-container-filesystem)“.
|
||||
- Aktionen, die in Docker-Containern ausgeführt werden, sind sensibel für Berechtigungsprobleme, da Container eine andere Zuordnung von Benutzern haben. Du kannst viele dieser Probleme vermeiden, indem Du die Anweisung `USER` in Deinem *Dockerfile* nicht verwendest. {% if currentVersion == "github-ae@latest" %}For instructions on how to make sure your {% data variables.actions.hosted_runner %} has the required software installed, see "[Creating custom images](/actions/using-github-hosted-runners/creating-custom-images).".
|
||||
{% else %}For more information about the Docker filesystem on {% data variables.product.product_name %}-hosted runners, see "[Virtual environments for {% data variables.product.product_name %}-hosted runners](/actions/reference/virtual-environments-for-github-hosted-runners#docker-container-filesystem)."
|
||||
{% endif %}
|
||||
|
||||
### Workflows und Jobs migrieren
|
||||
|
||||
@@ -56,9 +60,17 @@ CircleCI stellt eine Reihe von vordefinierten Images mit üblichen Abhängigkeit
|
||||
|
||||
Wir empfehlen Dir, von vordefinierten CircleCI-Images zu wegzugehen, wenn Du zu {% data variables.product.prodname_actions %} migrierst. In vielen Fällen kannst Du die zusätzlich benötigten Abhängigkeiten mithilfe von Aktionen installieren.
|
||||
|
||||
Weitere Informationen über das Docker-Dateisystem findest Du unter „[Virtuelle Umgebungen für {% data variables.product.product_name %}-gehostete Runner](/actions/reference/virtual-environments-for-github-hosted-runners#docker-container-filesystem)“.
|
||||
{% if currentVersion == "github-ae@latest" %}
|
||||
For more information about the Docker filesystem, see "[Docker container filesystem](/actions/using-github-hosted-runners/about-ae-hosted-runners#docker-container-filesystem)."
|
||||
For instructions on how to make sure your
|
||||
|
||||
For more information about the tools and packages available on {% data variables.product.prodname_dotcom %}-hosted virtual environments, see "[Specifications for {% data variables.product.prodname_dotcom %}-hosted runners](/actions/reference/specifications-for-github-hosted-runners/#supported-software)".
|
||||
{% data variables.actions.hosted_runner %} has the required software installed, see "[Creating custom images](/actions/using-github-hosted-runners/creating-custom-images)."
|
||||
{% else %}
|
||||
Weitere Informationen über das Docker-Dateisystem findest Du unter „[Virtuelle Umgebungen für {% data variables.product.product_name %}-gehostete Runner](/actions/reference/virtual-environments-for-github-hosted-runners#docker-container-filesystem)“.
|
||||
For more information about the tools and packages available on
|
||||
|
||||
{% data variables.product.prodname_dotcom %}-hosted virtual environments, see "[Specifications for {% data variables.product.prodname_dotcom %}-hosted runners](/actions/reference/specifications-for-github-hosted-runners/#supported-software)".
|
||||
{% endif %}
|
||||
|
||||
### Variablen und Geheimnisse verwenden
|
||||
|
||||
@@ -107,7 +119,7 @@ GitHub Actions
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
{% data variables.product.prodname_actions %} caching is only applicable to {% data variables.product.prodname_dotcom %}-hosted runners. Weitere Informationen findest Du unter „<a href="/actions/guides/caching-dependencies-to-speed-up-workflows" class="dotcom-only">Abhängigkeiten zur Beschleunigung von Workflows im Cache zwischenspeichern</a>“.
|
||||
{% data variables.product.prodname_actions %} caching is only applicable for repositories hosted on {% data variables.product.prodname_dotcom_the_website %}. Weitere Informationen findest Du unter „<a href="/actions/guides/caching-dependencies-to-speed-up-workflows" class="dotcom-only">Abhängigkeiten zur Beschleunigung von Workflows im Cache zwischenspeichern</a>“.
|
||||
|
||||
{% data variables.product.prodname_actions %} hat kein Äquivalent zum „Docker Layer Caching“ („DLC“, im Cache auf Docker-Ebene zwischenspeichern).
|
||||
|
||||
|
||||
@@ -4,6 +4,7 @@ intro: '{% data variables.product.prodname_actions %} and GitLab CI/CD share sev
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
enterprise-server: '>=2.22'
|
||||
github-ae: '*'
|
||||
type: 'tutorial'
|
||||
topics:
|
||||
- 'GitLab'
|
||||
@@ -14,6 +15,7 @@ topics:
|
||||
|
||||
{% data reusables.actions.enterprise-beta %}
|
||||
{% data reusables.actions.enterprise-github-hosted-runners %}
|
||||
{% data reusables.actions.ae-beta %}
|
||||
|
||||
### Einführung
|
||||
|
||||
@@ -124,7 +126,7 @@ linux_job:
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
Weitere Informationen findest Du unter „[Workflow Syntax für {% data variables.product.prodname_actions %}](/actions/reference/workflow-syntax-for-github-actions#jobsjob_idruns-on)."
|
||||
For more information, see "[Workflow syntax for {% data variables.product.prodname_actions %}](/actions/reference/workflow-syntax-for-github-actions#jobsjob_idruns-on)."
|
||||
|
||||
### Docker-Images
|
||||
|
||||
@@ -292,7 +294,7 @@ Weitere Informationen findest Du unter „[Workflow-Syntax für {% data variable
|
||||
|
||||
Both GitLab CI/CD and {% data variables.product.prodname_actions %} allow you to run workflows at a specific interval. In GitLab CI/CD, pipeline schedules are configured with the UI, while in {% data variables.product.prodname_actions %} you can trigger a workflow on a scheduled interval with the "on" key.
|
||||
|
||||
Weitere Informationen findest Du unter "[Ereignisse, die Workflows auslösen](/actions/reference/events-that-trigger-workflows#scheduled-events)."
|
||||
For more information, see "[Events that trigger workflows](/actions/reference/events-that-trigger-workflows#scheduled-events)."
|
||||
|
||||
### Variables and secrets
|
||||
|
||||
@@ -479,4 +481,4 @@ jobs:
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
Weitere Informationen findest Du unter "[Über Service-Container](/actions/guides/about-service-containers)."
|
||||
For more information, see "[About service containers](/actions/guides/about-service-containers)."
|
||||
|
||||
@@ -6,6 +6,7 @@ redirect_from:
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
enterprise-server: '>=2.22'
|
||||
github-ae: '*'
|
||||
type: 'tutorial'
|
||||
topics:
|
||||
- 'Jenkins'
|
||||
@@ -16,6 +17,7 @@ topics:
|
||||
|
||||
{% data reusables.actions.enterprise-beta %}
|
||||
{% data reusables.actions.enterprise-github-hosted-runners %}
|
||||
{% data reusables.actions.ae-beta %}
|
||||
|
||||
### Einführung
|
||||
|
||||
@@ -60,18 +62,19 @@ Jenkins teilt seine Deklarative Pipelines in mehrere Sektionen auf. Similarly, {
|
||||
|
||||
Jenkins verwendet Anweisungen um _Deklarative Pipelines_ zu verwalten. Diese Anweisungen definieren die Merkmale Deines Workflows und die Art und weise, wie dieser ausgeführt wird. Die folgende Tabelle zeigt, wie diese Anweisungen den Konzepten innerhalb von {% data variables.product.prodname_actions %} entsprechen.
|
||||
|
||||
| Anweisungen in Jenkins | {% data variables.product.prodname_actions %}
|
||||
| ------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| [`environment`](https://jenkins.io/doc/book/pipeline/syntax/#environment) | [`jobs.<job_id>.env`](/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#env) <br> [`jobs.<job_id>.steps[*].env`](/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idstepsenv) |
|
||||
| [`options`](https://jenkins.io/doc/book/pipeline/syntax/#parameters) | [`jobs.<job_id>.strategy`](/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idstrategy) <br> [`jobs.<job_id>.strategy.fail-fast`](/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idstrategyfail-fast) <br> [`jobs.<job_id>.timeout-minutes`](/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idtimeout-minutes) |
|
||||
| [`parameters`](https://jenkins.io/doc/book/pipeline/syntax/#parameters) | [`inputs`](/actions/creating-actions/metadata-syntax-for-github-actions#inputs) <br> [`outputs`](/actions/creating-actions/metadata-syntax-for-github-actions#outputs) |
|
||||
| [`triggers`](https://jenkins.io/doc/book/pipeline/syntax/#triggers) | [`on`](/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#on) <br> [`on.<event_name>.types`](/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#onevent_nametypes) <br> [<code>on.<push\|pull_request>.<branches\|tags></code>](/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#onpushpull_requestbranchestags) <br> [<code>on.<push\|pull_request>.paths</code>](/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#onpushpull_requestpaths) |
|
||||
| [`triggers { upstreamprojects() }`](https://jenkins.io/doc/book/pipeline/syntax/#triggers) | [`jobs.<job_id>.needs`](/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idneeds) |
|
||||
| [Cron-Syntax in Jenkins](https://jenkins.io/doc/book/pipeline/syntax/#cron-syntax) | [`on.schedule`](/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#onschedule) |
|
||||
| [`Phase`](https://jenkins.io/doc/book/pipeline/syntax/#stage) | [`jobs.<job_id>`](/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_id) <br> [`jobs.<job_id>.name`](/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idname) |
|
||||
| [`tools`](https://jenkins.io/doc/book/pipeline/syntax/#tools) | [Specifications for {% data variables.product.prodname_dotcom %}-hosted runners](/actions/reference/specifications-for-github-hosted-runners/#supported-software) |
|
||||
| [`input`](https://jenkins.io/doc/book/pipeline/syntax/#input) | [`inputs`](/actions/automating-your-workflow-with-github-actions/metadata-syntax-for-github-actions#inputs) |
|
||||
| [`when`](https://jenkins.io/doc/book/pipeline/syntax/#when) | [`jobs.<job_id>.if`](/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idif) |
|
||||
| Anweisungen in Jenkins | {% data variables.product.prodname_actions %}
|
||||
| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| [`environment`](https://jenkins.io/doc/book/pipeline/syntax/#environment) | [`jobs.<job_id>.env`](/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#env) <br> [`jobs.<job_id>.steps[*].env`](/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idstepsenv) |
|
||||
| [`options`](https://jenkins.io/doc/book/pipeline/syntax/#parameters) | [`jobs.<job_id>.strategy`](/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idstrategy) <br> [`jobs.<job_id>.strategy.fail-fast`](/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idstrategyfail-fast) <br> [`jobs.<job_id>.timeout-minutes`](/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idtimeout-minutes) |
|
||||
| [`parameters`](https://jenkins.io/doc/book/pipeline/syntax/#parameters) | [`inputs`](/actions/creating-actions/metadata-syntax-for-github-actions#inputs) <br> [`outputs`](/actions/creating-actions/metadata-syntax-for-github-actions#outputs) |
|
||||
| [`triggers`](https://jenkins.io/doc/book/pipeline/syntax/#triggers) | [`on`](/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#on) <br> [`on.<event_name>.types`](/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#onevent_nametypes) <br> [<code>on.<push\|pull_request>.<branches\|tags></code>](/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#onpushpull_requestbranchestags) <br> [<code>on.<push\|pull_request>.paths</code>](/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#onpushpull_requestpaths) |
|
||||
| [`triggers { upstreamprojects() }`](https://jenkins.io/doc/book/pipeline/syntax/#triggers) | [`jobs.<job_id>.needs`](/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idneeds) |
|
||||
| [Cron-Syntax in Jenkins](https://jenkins.io/doc/book/pipeline/syntax/#cron-syntax) | [`on.schedule`](/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#onschedule) |
|
||||
| [`Phase`](https://jenkins.io/doc/book/pipeline/syntax/#stage) | [`jobs.<job_id>`](/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_id) <br> [`jobs.<job_id>.name`](/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idname) |
|
||||
| [`tools`](https://jenkins.io/doc/book/pipeline/syntax/#tools) | |
|
||||
| {% if currentVersion == "github-ae@latest" %}For instructions on how to make sure your {% data variables.actions.hosted_runner %} has the required software installed, see "[Creating custom images](/actions/using-github-hosted-runners/creating-custom-images)."{% else %}[Specifications for {% data variables.product.prodname_dotcom %}-hosted runners](/actions/reference/specifications-for-github-hosted-runners/#supported-software) | {% endif %}
|
||||
| [`input`](https://jenkins.io/doc/book/pipeline/syntax/#input) | [`inputs`](/actions/automating-your-workflow-with-github-actions/metadata-syntax-for-github-actions#inputs) |
|
||||
| [`when`](https://jenkins.io/doc/book/pipeline/syntax/#when) | [`jobs.<job_id>.if`](/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idif) |
|
||||
|
||||
### Sequenzielle „Stages“ (Phasen) verwenden
|
||||
|
||||
|
||||
@@ -6,6 +6,7 @@ redirect_from:
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
enterprise-server: '>=2.22'
|
||||
github-ae: '*'
|
||||
type: 'tutorial'
|
||||
topics:
|
||||
- 'Travis CI'
|
||||
@@ -14,6 +15,10 @@ topics:
|
||||
- 'CD'
|
||||
---
|
||||
|
||||
{% data reusables.actions.enterprise-beta %}
|
||||
{% data reusables.actions.enterprise-github-hosted-runners %}
|
||||
{% data reusables.actions.ae-beta %}
|
||||
|
||||
### Einführung
|
||||
|
||||
This guide helps you migrate from Travis CI to {% data variables.product.prodname_actions %}. It compares their concepts and syntax, describes the similarities, and demonstrates their different approaches to common tasks.
|
||||
@@ -181,7 +186,7 @@ When migrating from Travis CI, consider the following key features in {% data va
|
||||
|
||||
#### Storing secrets
|
||||
|
||||
{% data variables.product.prodname_actions %} allows you to store secrets and reference them in your jobs. {% data variables.product.prodname_actions %} organizations can limit which repositories can access organization secrets. {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}Environment protection rules can require manual approval for a workflow to access environment secrets. {% endif %}For more information, see "[Encrypted secrets](/actions/reference/encrypted-secrets)."
|
||||
{% data variables.product.prodname_actions %} allows you to store secrets and reference them in your jobs. {% data variables.product.prodname_actions %} organizations can limit which repositories can access organization secrets. {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %}Environment protection rules can require manual approval for a workflow to access environment secrets. {% endif %}For more information, see "[Encrypted secrets](/actions/reference/encrypted-secrets)."
|
||||
|
||||
#### Sharing files between jobs and workflows
|
||||
|
||||
|
||||
@@ -7,11 +7,13 @@ redirect_from:
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
enterprise-server: '>=2.22'
|
||||
github-ae: '*'
|
||||
type: 'how_to'
|
||||
---
|
||||
|
||||
{% data reusables.actions.enterprise-beta %}
|
||||
{% data reusables.actions.enterprise-github-hosted-runners %}
|
||||
{% data reusables.actions.ae-beta %}
|
||||
|
||||
### Übersicht
|
||||
|
||||
|
||||
@@ -5,45 +5,26 @@ product: '{% data reusables.gated-features.actions %}'
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
enterprise-server: '>=2.22'
|
||||
github-ae: '*'
|
||||
---
|
||||
|
||||
{% data reusables.actions.enterprise-beta %}
|
||||
{% data reusables.actions.enterprise-github-hosted-runners %}
|
||||
{% data reusables.actions.ae-beta %}
|
||||
|
||||
{% data reusables.repositories.actions-workflow-status-badge-into %}
|
||||
|
||||
Wenn Ihr Workflow den `Namen` Schlüsselwort verwendet, müssen Sie auf den Workflow anhand des Namens verweisen. Wenn der Name Ihres Workflows Leerraum enthält, müssen Sie das Leerzeichen durch die URL codierte Zeichenfolge `%20`ersetzen. Weitere Informationen zum Schlüsselwort `name` findest Du unter „[Workflow-Syntax für {% data variables.product.prodname_actions %}](/articles/workflow-syntax-for-github-actions#name)“.
|
||||
You reference the workflow by the name of your workflow file.
|
||||
|
||||
```
|
||||
https://github.com/<OWNER>/<REPOSITORY>/Workflows/<WORKFLOW_NAME>/badge.svg
|
||||
https://github.com/<OWNER>/<REPOSITORY>/actions/workflows/<WORKFLOW_FILE>/badge.svg
|
||||
```
|
||||
### Using the workflow file name
|
||||
|
||||
Wenn Ihr Workflow keinen `Namen`hat, müssen Sie auch auf die Workflowdatei verweisen, indem Sie den Dateipfad relativ zum Stammverzeichnis des Repositorys verwenden.
|
||||
|
||||
{% note %}
|
||||
|
||||
**Hinweis:** Verweisen auf die Workflowdatei mithilfe des Dateipfads funktioniert nicht, wenn der Workflow einen `Namen`hat.
|
||||
|
||||
{% endnote %}
|
||||
|
||||
```
|
||||
https://github.com/<OWNER>/<REPOSITORY>/Workflows/<WORKFLOW_FILE_PATH>/badge.svg
|
||||
```
|
||||
|
||||
### Using a workflow name
|
||||
|
||||
In diesem Markdown-Beispiel wird ein Status-Badge für einen Workflow mit dem Namen "Greet Everyone" hinzugefügt. Die `owner` des Repositorys sind die `Aktionen` Organisation, und der name `REPOSITORY` ist `hello-world`.
|
||||
In diesem Markdown-Beispiel wird ein Status-Badge für einen Workflow mit dem Dateipfad `.github/workflows/main.yml`hinzugefügt. The `OWNER` of the repository is the `github` organization and the `REPOSITORY` name is `docs`.
|
||||
|
||||
```markdown
|
||||
! [Beispiel-Workflowname] (https://github.com/actions/hello-world/workflows/Greet%20Everyone/badge.svg)
|
||||
```
|
||||
|
||||
### Using a workflow file path
|
||||
|
||||
In diesem Markdown-Beispiel wird ein Status-Badge für einen Workflow mit dem Dateipfad `.github/workflows/main.yml`hinzugefügt. Die `owner` des Repositorys sind die `Aktionen` Organisation, und der name `REPOSITORY` ist `hello-world`.
|
||||
|
||||
```markdown
|
||||
! [Beispiel Workflowdateipfad] (https://github.com/actions/hello-world/workflows/.github/workflows/main.yml/badge.svg)
|
||||

|
||||
```
|
||||
|
||||
### Using the `branch` parameter
|
||||
@@ -51,7 +32,7 @@ In diesem Markdown-Beispiel wird ein Status-Badge für einen Workflow mit dem Da
|
||||
In diesem Markdown-Beispiel wird ein Status-Badge für eine Verzweigung mit dem Namen `Feature-1-`hinzugefügt.
|
||||
|
||||
```markdown
|
||||
! [Beispiel-Zweigparameter] (https://github.com/actions/hello-world/workflows/Greet%20Everyone/badge.svg?branch=feature-1)
|
||||

|
||||
```
|
||||
|
||||
### Using the `event` parameter
|
||||
@@ -59,5 +40,5 @@ In diesem Markdown-Beispiel wird ein Status-Badge für eine Verzweigung mit dem
|
||||
In diesem Markdown-Beispiel wird ein Badge hinzugefügt, das den Status von Workflowausführungen anzeigt, die durch das `pull_request` -Ereignis ausgelöst werden.
|
||||
|
||||
```markdown
|
||||
! [Beispielereignisparameter] (https://github.com/actions/hello-world/workflows/Greet%20Everyone/badge.svg?event=pull_request)
|
||||

|
||||
```
|
||||
|
||||
@@ -5,10 +5,12 @@ product: '{% data reusables.gated-features.actions %}'
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
enterprise-server: '>=2.22'
|
||||
github-ae: '*'
|
||||
---
|
||||
|
||||
{% data reusables.actions.enterprise-beta %}
|
||||
{% data reusables.actions.enterprise-github-hosted-runners %}
|
||||
{% data reusables.actions.ae-beta %}
|
||||
|
||||
{% data reusables.repositories.permissions-statement-write %}
|
||||
|
||||
@@ -19,7 +21,7 @@ versions:
|
||||
{% data reusables.repositories.navigate-to-workflow %}
|
||||
1. From the list of workflow runs, click the name of the `queued` or `in progress` run that you want to cancel. 
|
||||
1. In the upper-right corner of the workflow, click **Cancel workflow**.
|
||||
{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}
|
||||
{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %}
|
||||

|
||||
{% else %}
|
||||

|
||||
|
||||
@@ -5,10 +5,12 @@ product: '{% data reusables.gated-features.actions %}'
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
enterprise-server: '>=2.22'
|
||||
github-ae: '*'
|
||||
---
|
||||
|
||||
{% data reusables.actions.enterprise-beta %}
|
||||
{% data reusables.actions.enterprise-github-hosted-runners %}
|
||||
{% data reusables.actions.ae-beta %}
|
||||
|
||||
{% data reusables.repositories.permissions-statement-write %}
|
||||
|
||||
|
||||
@@ -5,10 +5,12 @@ product: '{% data reusables.gated-features.actions %}'
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
enterprise-server: '>=2.23'
|
||||
github-ae: '*'
|
||||
---
|
||||
|
||||
{% data reusables.actions.enterprise-beta %}
|
||||
{% data reusables.actions.enterprise-github-hosted-runners %}
|
||||
{% data reusables.actions.ae-beta %}
|
||||
|
||||
Disabling a workflow allows you to stop a workflow from being triggered without having to delete the file from the repo. You can easily re-enable the workflow again on {% data variables.product.prodname_dotcom %}. You can also disable and enable a workflow using the REST API. For more information, see the "[Actions REST API](/rest/reference/actions#workflows)."
|
||||
|
||||
|
||||
@@ -5,12 +5,14 @@ product: '{% data reusables.gated-features.actions %}'
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
enterprise-server: '>=2.22'
|
||||
github-ae: '*'
|
||||
---
|
||||
|
||||
{% data reusables.actions.enterprise-beta %}
|
||||
{% data reusables.actions.enterprise-github-hosted-runners %}
|
||||
{% data reusables.actions.ae-beta %}
|
||||
|
||||
{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %} By default, {% data variables.product.product_name %} stores build logs and artifacts for 90 days, and you can customize this retention period, depending on the type of repository. For more information, see "[Configuring the retention period for GitHub Actions artifacts and logs in your repository](/github/administering-a-repository/configuring-the-retention-period-for-github-actions-artifacts-and-logs-in-your-repository)."{% endif %}
|
||||
{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %} By default, {% data variables.product.product_name %} stores build logs and artifacts for 90 days, and you can customize this retention period, depending on the type of repository. For more information, see "[Configuring the retention period for GitHub Actions artifacts and logs in your repository](/github/administering-a-repository/configuring-the-retention-period-for-github-actions-artifacts-and-logs-in-your-repository)."{% endif %}
|
||||
{% if currentVersion == "enterprise-server@2.22" %} {% data variables.product.product_name %} stores full build logs and artifacts for 90 days.{% endif %}
|
||||
|
||||
{% data reusables.repositories.permissions-statement-read %}
|
||||
@@ -20,7 +22,7 @@ versions:
|
||||
{% data reusables.repositories.navigate-to-workflow %}
|
||||
{% data reusables.repositories.view-run %}
|
||||
1. Under **Artifacts**, click the artifact you want to download.
|
||||
{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}
|
||||
{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %}
|
||||

|
||||
{% else %}
|
||||

|
||||
|
||||
@@ -5,15 +5,17 @@ product: '{% data reusables.gated-features.actions %}'
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
enterprise-server: '>=2.22'
|
||||
github-ae: '*'
|
||||
---
|
||||
|
||||
{% data reusables.actions.enterprise-beta %}
|
||||
{% data reusables.actions.enterprise-github-hosted-runners %}
|
||||
{% data reusables.actions.ae-beta %}
|
||||
|
||||
Diese zusätzlichen Protokolle werden aktiviert, indem Geheimnisse im Repository, die den Workflow enthalten, gesetzt werden, sodass die gleichen Berechtigungsanforderungen gelten:
|
||||
|
||||
- {% data reusables.github-actions.permissions-statement-secrets-repository %}
|
||||
{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}
|
||||
{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %}
|
||||
- {% data reusables.github-actions.permissions-statement-secrets-environment %}
|
||||
{% endif %}
|
||||
- {% data reusables.github-actions.permissions-statement-secrets-organization %}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
title: Managing workflow runs
|
||||
shortTitle: Managing workflow runs
|
||||
intro: 'You can view the status and results of each step in your workflow, cancel a pending workflow, {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}review deployments, {% endif %}view billable job execution minutes, debug and re-run a failed workflow, search and download logs, and download artifacts.'
|
||||
intro: 'You can view the status and results of each step in your workflow, cancel a pending workflow, {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %}review deployments, {% endif %}view billable job execution minutes, debug and re-run a failed workflow, search and download logs, and download artifacts.'
|
||||
redirect_from:
|
||||
- /actions/configuring-and-managing-workflows/managing-a-workflow-run
|
||||
- /articles/viewing-your-repository-s-workflows
|
||||
@@ -13,12 +13,14 @@ redirect_from:
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
enterprise-server: '>=2.22'
|
||||
github-ae: '*'
|
||||
---
|
||||
|
||||
{% data reusables.actions.enterprise-beta %}
|
||||
{% data reusables.actions.enterprise-github-hosted-runners %}
|
||||
{% data reusables.actions.ae-beta %}
|
||||
|
||||
{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}{% link_in_list /using-the-visualization-graph %}{% endif %}
|
||||
{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %}{% link_in_list /using-the-visualization-graph %}{% endif %}
|
||||
{% link_in_list /viewing-workflow-run-history %}
|
||||
{% link_in_list /using-workflow-run-logs %}
|
||||
{% link_in_list /manually-running-a-workflow %}
|
||||
|
||||
@@ -5,10 +5,12 @@ product: '{% data reusables.gated-features.actions %}'
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
enterprise-server: '>=2.22'
|
||||
github-ae: '*'
|
||||
---
|
||||
|
||||
{% data reusables.actions.enterprise-beta %}
|
||||
{% data reusables.actions.enterprise-github-hosted-runners %}
|
||||
{% data reusables.actions.ae-beta %}
|
||||
|
||||
### Configuring a workflow to run manually
|
||||
|
||||
|
||||
@@ -5,10 +5,12 @@ product: '{% data reusables.gated-features.actions %}'
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
enterprise-server: '>=2.22'
|
||||
github-ae: '*'
|
||||
---
|
||||
|
||||
{% data reusables.actions.enterprise-beta %}
|
||||
{% data reusables.actions.enterprise-github-hosted-runners %}
|
||||
{% data reusables.actions.ae-beta %}
|
||||
|
||||
{% data reusables.repositories.permissions-statement-write %}
|
||||
|
||||
@@ -16,4 +18,4 @@ versions:
|
||||
{% data reusables.repositories.actions-tab %}
|
||||
{% data reusables.repositories.navigate-to-workflow %}
|
||||
{% data reusables.repositories.view-run %}
|
||||
1. In the upper-right corner of the workflow, use the **Re-run jobs** drop-down menu, and select **Re-run all jobs**.{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}{% else %}{% endif %}
|
||||
1. In the upper-right corner of the workflow, use the **Re-run jobs** drop-down menu, and select **Re-run all jobs**.{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %}{% else %}{% endif %}
|
||||
|
||||
@@ -5,10 +5,12 @@ product: '{% data reusables.gated-features.actions %}'
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
enterprise-server: '>=2.22'
|
||||
github-ae: '*'
|
||||
---
|
||||
|
||||
{% data reusables.actions.enterprise-beta %}
|
||||
{% data reusables.actions.enterprise-github-hosted-runners %}
|
||||
{% data reusables.actions.ae-beta %}
|
||||
|
||||
### Deleting an artifact
|
||||
|
||||
@@ -28,13 +30,13 @@ versions:
|
||||
{% data reusables.repositories.view-run %}
|
||||
1. Under **Artifacts**, click
|
||||
{% octicon "trashcan" aria-label="The trashcan icon" %} next to the artifact you want to remove.
|
||||
{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}
|
||||
{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %}
|
||||

|
||||
{% else %}
|
||||

|
||||
{% endif %}
|
||||
|
||||
{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %}
|
||||
{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %}
|
||||
### Setting the retention period for an artifact
|
||||
|
||||
Retention periods for artifacts and logs can be configured at the repository, organization, and enterprise level. For more information, see "[Usage limits, billing, and administration](/actions/reference/usage-limits-billing-and-administration#artifact-and-log-retention-policy)."
|
||||
|
||||
@@ -5,15 +5,17 @@ product: '{% data reusables.gated-features.environments %}'
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
enterprise-server: '>=3.1'
|
||||
github-ae: '*'
|
||||
---
|
||||
|
||||
{% data reusables.actions.environments-beta %}
|
||||
{% data reusables.actions.ae-beta %}
|
||||
|
||||
### About required reviews in workflows
|
||||
|
||||
Jobs that reference an environment configured with required reviewers will wait for an approval before starting. While a job is awaiting approval, it has a status of "Waiting". If a job is not approved within 30 days, the workflow run will be automatically canceled.
|
||||
|
||||
For more information about environments and required approvals, see "[Environments](/actions/reference/environments)."
|
||||
For more information about environments and required approvals, see "[Environments](/actions/reference/environments)."{% if currentVersion == "free-pro-team@latest" or currentVersion == "github-ae@next" or currentVersion ver_gt "enterprise-server@3.1" %} For information about how to review deployments with the REST API, see "[Workflow Runs](/rest/reference/actions#workflow-runs)."{% endif %}
|
||||
|
||||
### Approving or rejecting a job
|
||||
|
||||
|
||||
@@ -5,11 +5,13 @@ product: '{% data reusables.gated-features.actions %}'
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
enterprise-server: '>=3.1'
|
||||
github-ae: '*'
|
||||
---
|
||||
|
||||
{% data reusables.actions.enterprise-beta %}
|
||||
{% data reusables.actions.visualization-beta %}
|
||||
{% data reusables.actions.enterprise-github-hosted-runners %}
|
||||
{% data reusables.actions.ae-beta %}
|
||||
|
||||
{% data reusables.repositories.navigate-to-repo %}
|
||||
{% data reusables.repositories.actions-tab %}
|
||||
|
||||
@@ -5,10 +5,12 @@ product: '{% data reusables.gated-features.actions %}'
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
enterprise-server: '>=2.22'
|
||||
github-ae: '*'
|
||||
---
|
||||
|
||||
{% data reusables.actions.enterprise-beta %}
|
||||
{% data reusables.actions.enterprise-github-hosted-runners %}
|
||||
{% data reusables.actions.ae-beta %}
|
||||
|
||||
Auf der Workflow-Lauf-Seite können sie sehen, ob ein Workflow-Lauf ausgeführt wird oder abgeschlossen ist. Sie müssen mit einem {% data variables.product.prodname_dotcom %}-Konto angemeldet sein, um Workflow-Informationen anzuzeigen, auch für öffentliche Repositories. Weitere Informationen finden Sie unter „[Zugriffsberechtigungen auf GitHub](/articles/access-permissions-on-github)“.
|
||||
|
||||
@@ -43,9 +45,9 @@ Sie können die Build-Protokolle für einen bestimmten Schritt durchsuchen. Beim
|
||||
{% data reusables.repositories.navigate-to-workflow-superlinter %}
|
||||
{% data reusables.repositories.view-run-superlinter %}
|
||||
{% data reusables.repositories.navigate-to-job-superlinter %}
|
||||
{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %}
|
||||
{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %}
|
||||
1. Gib in der oberen rechten Ecke der Protokollausgabe im Suchfeld **Search logs** (Protokolle durchsuchen) eine Suchanfrage ein.
|
||||
{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}
|
||||
{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %}
|
||||

|
||||
{% else %}
|
||||

|
||||
@@ -64,10 +66,10 @@ Sie können die Protokolldateien von Ihrem Workflowlauf herunterladen. Sie könn
|
||||
{% data reusables.repositories.navigate-to-workflow-superlinter %}
|
||||
{% data reusables.repositories.view-run-superlinter %}
|
||||
{% data reusables.repositories.navigate-to-job-superlinter %}
|
||||
{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %}
|
||||
{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %}
|
||||
1. In the upper right corner, click
|
||||
{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}{% octicon "gear" aria-label="The gear icon" %}{% else %}{% octicon "kebab-horizontal" aria-label="The horizontal kebab icon" %}{% endif %} and select **Download log archive**.
|
||||
{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}
|
||||
{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %}{% octicon "gear" aria-label="The gear icon" %}{% else %}{% octicon "kebab-horizontal" aria-label="The horizontal kebab icon" %}{% endif %} and select **Download log archive**.
|
||||
{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %}
|
||||

|
||||
{% else %}
|
||||

|
||||
@@ -86,16 +88,16 @@ Du kannst die Logdateien aus Deiner Workflow-Ausführung löschen. {% data reusa
|
||||
{% data reusables.repositories.actions-tab %}
|
||||
{% data reusables.repositories.navigate-to-workflow-superlinter %}
|
||||
{% data reusables.repositories.view-run-superlinter %}
|
||||
{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %}
|
||||
{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %}
|
||||
1. In the upper right corner, click
|
||||
{% octicon "kebab-horizontal" aria-label="The horizontal kebab icon" %}.
|
||||
{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}
|
||||
{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %}
|
||||

|
||||
{% else %}
|
||||

|
||||
{% endif %}
|
||||
2. Um die Logdateien zu löschen, klicke auf **Delete all logs** (Alle Logs löschen) und überprüfe die Bestätigungsanfrage.
|
||||
{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}
|
||||
{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %}
|
||||

|
||||
{% else %}
|
||||

|
||||
|
||||
@@ -8,6 +8,7 @@ versions:
|
||||
|
||||
{% data reusables.actions.enterprise-beta %}
|
||||
{% data reusables.actions.enterprise-github-hosted-runners %}
|
||||
{% data reusables.actions.ae-beta %}
|
||||
|
||||
Billable job execution minutes are only shown for jobs run on private repositories that use {% data variables.product.prodname_dotcom %}-hosted runners. There are no billable minutes when using {% data variables.product.prodname_actions %} in public repositories or for jobs run on self-hosted runners.
|
||||
|
||||
|
||||
@@ -5,10 +5,12 @@ product: '{% data reusables.gated-features.actions %}'
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
enterprise-server: '>=2.22'
|
||||
github-ae: '*'
|
||||
---
|
||||
|
||||
{% data reusables.actions.enterprise-beta %}
|
||||
{% data reusables.actions.enterprise-github-hosted-runners %}
|
||||
{% data reusables.actions.ae-beta %}
|
||||
|
||||
{% data reusables.repositories.permissions-statement-read %}
|
||||
|
||||
|
||||
@@ -7,6 +7,7 @@ redirect_from:
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
enterprise-server: '>=2.22'
|
||||
github-ae: '*'
|
||||
type: 'quick_start'
|
||||
topics:
|
||||
- 'Fundamentals'
|
||||
@@ -14,6 +15,7 @@ topics:
|
||||
|
||||
{% data reusables.actions.enterprise-beta %}
|
||||
{% data reusables.actions.enterprise-github-hosted-runners %}
|
||||
{% data reusables.actions.ae-beta %}
|
||||
|
||||
### Einführung
|
||||
|
||||
@@ -62,7 +64,7 @@ Committing the workflow file in your repository triggers the `push` event and ru
|
||||
{% data reusables.repositories.actions-tab %}
|
||||
{% data reusables.repositories.navigate-to-workflow-superlinter %}
|
||||
{% data reusables.repositories.view-run-superlinter %}
|
||||
{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}
|
||||
{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %}
|
||||
1. Under **Jobs** or in the visualization graph, click the **Lint code base** job. 
|
||||
{% else %}
|
||||
1. In the left sidebar, click the **Lint code base** job. 
|
||||
@@ -75,7 +77,7 @@ Committing the workflow file in your repository triggers the `push` event and ru
|
||||
|
||||
### Nächste Schritte:
|
||||
|
||||
The super-linter workflow you just added runs any time code is pushed to your repository to help you spot errors and inconsistencies in your code. But, this is only the beginning of what you can do with {% data variables.product.prodname_actions %}. Your repository can contain multiple workflows that trigger different jobs based on different events. {% data variables.product.prodname_actions %} can help you automate nearly every aspect of your application development processes. Ready to get started? Here are some helpful resources for taking your next steps with {% data variables.product.prodname_actions %}:
|
||||
The super-linter workflow you just added runs each time code is pushed to your repository to help you spot errors and inconsistencies in your code. But this is only the beginning of what you can do with {% data variables.product.prodname_actions %}. Your repository can contain multiple workflows that trigger different jobs based on different events. {% data variables.product.prodname_actions %} can help you automate nearly every aspect of your application development processes. Ready to get started? Here are some helpful resources for taking your next steps with {% data variables.product.prodname_actions %}:
|
||||
|
||||
- "[Learn {% data variables.product.prodname_actions %}](/actions/learn-github-actions)" for an in-depth tutorial
|
||||
- "[Guides](/actions/guides)" for specific uses cases and examples
|
||||
@@ -85,7 +87,7 @@ The super-linter workflow you just added runs any time code is pushed to your re
|
||||
|
||||
### Introduction
|
||||
|
||||
Printing "Hello, World!" is a great way to explore the basic set up and syntax of a new programming language. In this guide, you'll use GitHub Actions to print "Hello, World!" within your {% data variables.product.prodname_dotcom %} repository's workflow logs. All you need to get started is a {% data variables.product.prodname_dotcom %} repository where you feel comfortable creating and running a sample {% data variables.product.prodname_actions %} workflow. Feel free to create a new repository for this Quickstart, you can use it to test this and future {% data variables.product.prodname_actions %} workflows.
|
||||
Printing "Hello, World!" is a great way to explore the basic set up and syntax of a new programming language. In this guide, you'll use GitHub Actions to print "Hello, World!" within your {% data variables.product.prodname_dotcom %} repository's workflow logs. All you need to get started is a {% data variables.product.prodname_dotcom %} repository where you feel comfortable creating and running a sample {% data variables.product.prodname_actions %} workflow. Feel free to create a new repository for this Quickstart to test this and future {% data variables.product.prodname_actions %} workflows.
|
||||
|
||||
### Creating your first workflow
|
||||
|
||||
@@ -140,7 +142,7 @@ Printing "Hello, World!" is a great way to explore the basic set up and syntax o
|
||||
|
||||
### Next steps
|
||||
|
||||
The hello-world workflow you just added is a simple example of a manually triggered workflow. This is only the beginning of what you can do with {% data variables.product.prodname_actions %}. Your repository can contain multiple workflows that trigger different jobs based on different events. {% data variables.product.prodname_actions %} can help you automate nearly every aspect of your application development processes. Ready to get started? Here are some helpful resources for taking your next steps with {% data variables.product.prodname_actions %}:
|
||||
The hello-world workflow you just added is a minimal example of a manually triggered workflow. This is only the beginning of what you can do with {% data variables.product.prodname_actions %}. Your repository can contain multiple workflows that trigger different jobs based on different events. {% data variables.product.prodname_actions %} can help you automate nearly every aspect of your application development processes. Ready to get started? Here are some helpful resources for taking your next steps with {% data variables.product.prodname_actions %}:
|
||||
|
||||
- "[Learn {% data variables.product.prodname_actions %}](/actions/learn-github-actions)" for an in-depth tutorial
|
||||
- "[Guides](/actions/guides)" for specific uses cases and examples
|
||||
|
||||
@@ -9,10 +9,12 @@ redirect_from:
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
enterprise-server: '>=2.22'
|
||||
github-ae: '*'
|
||||
---
|
||||
|
||||
{% data reusables.actions.enterprise-beta %}
|
||||
{% data reusables.actions.enterprise-github-hosted-runners %}
|
||||
{% data reusables.actions.ae-beta %}
|
||||
|
||||
### Informationen zum `GITHUB_TOKEN`-Geheimnis
|
||||
|
||||
@@ -38,7 +40,7 @@ Dieser Beispielworkflow verwendet die [Labeler-Aktion](https://github.com/action
|
||||
```yaml
|
||||
name: Pull request labeler
|
||||
on:
|
||||
- pull_request
|
||||
- pull_request_target
|
||||
jobs:
|
||||
triage:
|
||||
runs-on: ubuntu-latest
|
||||
@@ -71,7 +73,8 @@ Du kannst das `GITHUB_TOKEN` verwenden, um authentifizierte API-Aufrufe durchzuf
|
||||
--data '{
|
||||
"title": "Automated issue for commit: ${{ github.sha }}",
|
||||
"body": "This issue was automatically created by the GitHub Action workflow **${{ github.workflow }}**. \n\n Der Commit-Hash lautete: _'{{ github.sha }}_."
|
||||
}'
|
||||
}' \
|
||||
--fail
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
@@ -92,6 +95,8 @@ For information about the API endpoints {% data variables.product.prodname_githu
|
||||
| repository projects | Lesen/Schreiben | Lesen |
|
||||
| statuses (Statusangaben) | Lesen/Schreiben | Lesen |
|
||||
|
||||
{% data reusables.actions.workflow-runs-dependabot-note %}
|
||||
|
||||
Wenn Du ein Token benötigst, für das Berechtigungen erforderlich sind, die nicht im `GITHUB_TOKEN`-Geheimnis vorhanden sind, kannst Du ein persönliches Zugangstoken erstellen und als Geheimnis im Repository festlegen:
|
||||
|
||||
1. Verwende oder erstelle ein Token mit den entsprechenden Berechtigungen für dieses Repository. Weitere Informationen finden Sie unter "[Erstellen eines persönlichen Zugriffstokens](/github/authenticating-to-github/creating-a-personal-access-token)."
|
||||
|
||||
@@ -11,14 +11,16 @@ redirect_from:
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
enterprise-server: '>=2.22'
|
||||
github-ae: '*'
|
||||
---
|
||||
|
||||
{% data reusables.actions.enterprise-beta %}
|
||||
{% data reusables.actions.enterprise-github-hosted-runners %}
|
||||
{% data reusables.actions.ae-beta %}
|
||||
|
||||
### Informationen zu Kontexten und Ausdrücken
|
||||
|
||||
Mit Ausdrücken können Sie programmatisch Variablen in Workflow-Dateien festlegen und auf Kontexte zugreifen. Ein Ausdruck kann eine beliebige Kombination aus literalen Werten, Verweisen auf einen Kontext und Funktionen sein. Sie können Literale, Kontextverweise und Funktionen mithilfe von Operatoren kombinieren.
|
||||
Mit Ausdrücken können Sie programmatisch Variablen in Workflow-Dateien festlegen und auf Kontexte zugreifen. Ein Ausdruck kann eine beliebige Kombination aus literalen Werten, Verweisen auf einen Kontext und Funktionen sein. Du kannst Literale, Kontextverweise und Funktionen mithilfe von Operatoren kombinieren.
|
||||
|
||||
Ausdrücke werden häufig mit dem Bedingungs-Schlüsselwort `if` in einer Workflow-Datei verwendet, um zu entscheiden, ob ein Schritt ausgeführt werden soll. Wenn eine `if`-Bedingung `true` (wahr) ist, wird der Schritt ausgeführt.
|
||||
|
||||
@@ -67,11 +69,11 @@ Kontexte sind eine Möglichkeit, auf Informationen zu Workflow-Läufen, Runner-U
|
||||
| `matrix` | `Objekt` | Ermöglicht den Zugriff auf die Matrixparameter, die Du für den aktuellen Job konfiguriert hast. Wenn Du beispielsweise einen Matrix-Build mit den Versionen von `os` und `node` konfigurierst, umfasst das Kontextobjekt `matrix` die Versionen von `os` und `node` des aktuellen Auftrags. |
|
||||
| `needs` | `Objekt` | Ermöglicht den Zugriff auf die Ausgaben aller Jobs, die als Abhängigkeit des aktuellen Jobs definiert sind. Weitere Informationen findest Du unter [`needs`-Kontext](#needs-context). |
|
||||
|
||||
Als Teil eines Ausdrucks können Sie mit einer der beiden folgenden Syntaxarten auf Kontextinformationen zugreifen.
|
||||
Als Teil eines Ausdrucks kannst Du mit einer der beiden folgenden Syntaxarten auf Kontextinformationen zugreifen.
|
||||
- Index-Syntax: `github['sha']`
|
||||
- Syntax zur Dereferenzierung von Eigenschaften: `github.sha`
|
||||
|
||||
Bei der Eigenschaftsdereferenzierungs-Syntax muss der Eigenschaftsname
|
||||
Bei der Syntax zur Dereferenzierung von Eigenschaften muss der Name der Eigenschaft:
|
||||
- mit `a-Z` oder `_` beginnen,
|
||||
- mit `a-Z`, `0-9`, `-` oder `_` weitergehen.
|
||||
|
||||
@@ -138,7 +140,7 @@ Der `job`-Kontext enthält Informationen zum gerade ausgeführten Auftrag.
|
||||
|
||||
#### `steps`-Kontext
|
||||
|
||||
Der `steps`-Kontext enthält Informationen zu den Schritten im aktuellen Job, die bereits ausgeführt wurden.
|
||||
Der `steps`-Kontext enthält Informationen zu den Schritten im aktuellen Auftrag, die bereits ausgeführt wurden.
|
||||
|
||||
| Name der Eigenschaft | Typ | Beschreibung |
|
||||
| --------------------------------------------------- | -------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
@@ -152,11 +154,12 @@ Der `steps`-Kontext enthält Informationen zu den Schritten im aktuellen Job, di
|
||||
|
||||
Der `runner`-Kontext enthält Informationen über den Runner, der den aktuellen Job ausführt.
|
||||
|
||||
| Name der Eigenschaft | Typ | Beschreibung |
|
||||
| -------------------- | -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `runner.os` | `string` | Das Betriebssystem des Runners, der den Job ausführt. Mögliche Werte sind `Linux`, `Windows` oder `macOS`. |
|
||||
| `runner.temp` | `string` | Der Pfad des temporären Verzeichnisses für den Runner. Dieses Verzeichnis ist zu Beginn jedes Auftrags garantiert leer, sogar bei selbst-gehosteten Runnern. |
|
||||
| `runner.tool_cache` | `string` | Der Pfad des Verzeichnisses, das einige der vorinstallierten Tools für {% data variables.product.prodname_dotcom %}-gehostete Runner enthält. For more information, see "[Specifications for {% data variables.product.prodname_dotcom %}-hosted runners](/actions/reference/specifications-for-github-hosted-runners/#supported-software)". |
|
||||
| Name der Eigenschaft | Typ | Beschreibung |
|
||||
| -------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `runner.os` | `string` | Das Betriebssystem des Runners, der den Job ausführt. Mögliche Werte sind `Linux`, `Windows` oder `macOS`. |
|
||||
| `runner.temp` | `string` | Der Pfad des temporären Verzeichnisses für den Runner. Dieses Verzeichnis ist zu Beginn jedes Auftrags garantiert leer, sogar bei selbst-gehosteten Runnern. |
|
||||
| `runner.tool_cache` | `string` | {% if currentVersion == "github-ae@latest" %}For instructions on how to make sure your {% data variables.actions.hosted_runner %} has the required software installed, see "[Creating custom images](/actions/using-github-hosted-runners/creating-custom-images)." |
|
||||
{% else %}The path of the directory containing some of the preinstalled tools for {% data variables.product.prodname_dotcom %}-hosted runners. For more information, see "[Specifications for {% data variables.product.prodname_dotcom %}-hosted runners](/actions/reference/specifications-for-github-hosted-runners/#supported-software)". {% endif %}
|
||||
|
||||
#### `needs`-Kontext
|
||||
|
||||
@@ -213,11 +216,11 @@ jobs:
|
||||
|
||||
### Literale
|
||||
|
||||
In einem Ausdruck können Sie die Datentypen `boolean`, `null`, `number` oder `string` verwenden. Bei booleschen Literalen wird die Groß- und Kleinschreibung nicht berücksichtigt. Du kannst also sowohl `true` als auch `True` benutzen.
|
||||
In einem Ausdruck kannst Du die Datentypen `boolean`, `null`, `number` oder `string` verwenden. Bei booleschen Literalen wird die Groß- und Kleinschreibung nicht berücksichtigt. Du kannst also sowohl `true` als auch `True` benutzen.
|
||||
|
||||
| Datentyp | Literalwert |
|
||||
| --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ |
|
||||
| `boolean` | `true` (ja) oder `false` (nein) |
|
||||
| `boolean` | `true` oder `false` |
|
||||
| `null (nichts)` | `null (nichts)` |
|
||||
| `number` | Alle von JSON unterstützten Zahlenformate |
|
||||
| `string` | Du musst einfache Anführungszeichen verwenden. Maskiere einfache Anführungszeichen (Apostrophen) mit einem weiteren einfachen Anführungszeichen. |
|
||||
@@ -240,20 +243,20 @@ env:
|
||||
|
||||
### Operatoren
|
||||
|
||||
| Operator | Beschreibung |
|
||||
| ------------------------- | ---------------------------- |
|
||||
| `( )` | Logische Gruppierung |
|
||||
| `[ ]` | Index |
|
||||
| `.` | Eigenschaftsdereferenzierung |
|
||||
| `!` | Nicht |
|
||||
| `<` | Kleiner als |
|
||||
| `<=` | Kleiner oder gleich |
|
||||
| `>` | Größer als |
|
||||
| `>=` | Größer oder gleich |
|
||||
| `==` | Gleich |
|
||||
| `!=` | Ungleich |
|
||||
| `&&` | Und |
|
||||
| <code>\|\|</code> | Oder |
|
||||
| Operator | Beschreibung |
|
||||
| ------------------------- | ---------------------------------- |
|
||||
| `( )` | Logische Gruppierung |
|
||||
| `[ ]` | Index |
|
||||
| `.` | Dereferenzierung einer Eigenschaft |
|
||||
| `!` | Nicht |
|
||||
| `<` | Kleiner als |
|
||||
| `<=` | Kleiner oder gleich |
|
||||
| `>` | Größer als |
|
||||
| `>=` | Größer oder gleich |
|
||||
| `==` | Gleich |
|
||||
| `!=` | Ungleich |
|
||||
| `&&` | Und |
|
||||
| <code>\|\|</code> | Oder |
|
||||
|
||||
{% data variables.product.prodname_dotcom %} vergleicht auf Gleichheit in toleranter Weise.
|
||||
|
||||
@@ -286,7 +289,7 @@ env:
|
||||
|
||||
`contains( search, item )`
|
||||
|
||||
Gibt `true` zurück, wenn der `item` in `search` enthalten ist. Wenn `search` ein Array ist, gibt diese Funktion `true` zurück, wenn der `item` ein Element im Array ist. Wenn `search` ein String ist, gibt diese Funktion `true` zurück, wenn der `item` ein Teilstring von `search` ist. Bei dieser Funktion wird die Groß- und Kleinschreibung nicht berücksichtigt. Wandelt Werte in einen String um.
|
||||
Gibt `true` zurück, wenn der `item` in `search` enthalten ist. Wenn `search` ein Array ist, gibt diese Funktion `true` zurück, wenn der `item` ein Element im Array ist. Wenn `search` ein String ist, gibt diese Funktion `true` zurück, wenn der `item` ein Teilstring von `search` ist. Bei dieser Funktion wird die Groß- und Kleinschreibung nicht berücksichtigt. Übergibt Werte an einen String.
|
||||
|
||||
##### Beispiel mit einem Array
|
||||
|
||||
@@ -300,7 +303,7 @@ Gibt `true` zurück, wenn der `item` in `search` enthalten ist. Wenn `search` ei
|
||||
|
||||
`startsWith( searchString, searchValue )`
|
||||
|
||||
Gibt `true` zurück, wenn der `searchString` mit `searchValue` beginnt. Bei dieser Funktion wird die Groß- und Kleinschreibung nicht berücksichtigt. Wandelt Werte in einen String um.
|
||||
Gibt `true` zurück, wenn der `searchString` mit `searchValue` beginnt. Bei dieser Funktion wird die Groß- und Kleinschreibung nicht berücksichtigt. Übergibt Werte an einen String.
|
||||
|
||||
##### Beispiel
|
||||
|
||||
@@ -310,7 +313,7 @@ Gibt `true` zurück, wenn der `searchString` mit `searchValue` beginnt. Bei dies
|
||||
|
||||
`endsWith( searchString, searchValue )`
|
||||
|
||||
Gibt `true` zurück, wenn der `searchString` mit `searchValue` endet. Bei dieser Funktion wird die Groß- und Kleinschreibung nicht berücksichtigt. Wandelt Werte in einen String um.
|
||||
Gibt `true` zurück, wenn der `searchString` mit `searchValue` endet. Bei dieser Funktion wird die Groß- und Kleinschreibung nicht berücksichtigt. Übergibt Werte an einen String.
|
||||
|
||||
##### Beispiel
|
||||
|
||||
@@ -342,7 +345,7 @@ format('{{Hello {0} {1} {2}!}}', 'Mona', 'the', 'Octocat')
|
||||
|
||||
`join( array, optionalSeparator )`
|
||||
|
||||
Der Wert für `array` kann ein Array oder ein String sein. Alle Werte im `array` werden in einem String zusammengeführt. Wenn Du `optionalSeparator` angibst, wird er zwischen den verketteten Werten eingefügt. Andernfalls wird der Standard-Trennzeichen `,` verwendet. Wandelt Werte in einen String um.
|
||||
Der Wert für `array` kann ein Array oder ein String sein. Alle Werte im `array` werden in einem String zusammengeführt. Wenn Du `optionalSeparator` angibst, wird er zwischen den verketteten Werten eingefügt. Andernfalls wird der Standard-Trennzeichen `,` verwendet. Übergibt Werte an einen String.
|
||||
|
||||
##### Beispiel
|
||||
|
||||
|
||||
@@ -9,19 +9,21 @@ redirect_from:
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
enterprise-server: '>=2.22'
|
||||
github-ae: '*'
|
||||
---
|
||||
|
||||
{% data reusables.actions.enterprise-beta %}
|
||||
{% data reusables.actions.environments-beta %}
|
||||
{% data reusables.actions.enterprise-github-hosted-runners %}
|
||||
{% data reusables.actions.ae-beta %}
|
||||
|
||||
### Informationen zu verschlüsselten Geheimnissen
|
||||
|
||||
Secrets are encrypted environment variables that you create in an organization{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}, repository, or repository environment{% else %} or repository{% endif %}. The secrets that you create are available to use in {% data variables.product.prodname_actions %} workflows. {% data variables.product.prodname_dotcom %} uses a [libsodium sealed box](https://libsodium.gitbook.io/doc/public-key_cryptography/sealed_boxes) to help ensure that secrets are encrypted before they reach {% data variables.product.prodname_dotcom %} and remain encrypted until you use them in a workflow.
|
||||
Secrets are encrypted environment variables that you create in an organization{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %}, repository, or repository environment{% else %} or repository{% endif %}. The secrets that you create are available to use in {% data variables.product.prodname_actions %} workflows. {% data variables.product.prodname_dotcom %} uses a [libsodium sealed box](https://libsodium.gitbook.io/doc/public-key_cryptography/sealed_boxes) to help ensure that secrets are encrypted before they reach {% data variables.product.prodname_dotcom %} and remain encrypted until you use them in a workflow.
|
||||
|
||||
{% data reusables.github-actions.secrets-org-level-overview %}
|
||||
|
||||
{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}
|
||||
{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %}
|
||||
For secrets stored at the environment level, you can enable required reviewers to control access to the secrets. A workflow job cannot access environment secrets until approval is granted by required approvers.
|
||||
{% endif %}
|
||||
|
||||
@@ -33,9 +35,9 @@ Die folgenden Regeln gelten für geheime Namen:
|
||||
* Geheime Namen dürfen nicht mit dem `GITHUB_` -Präfix beginnen.
|
||||
* Geheime Namen dürfen nicht mit einer Zahl beginnen.
|
||||
* Secret names are not case-sensitive.
|
||||
* Geheime Namen müssen auf der Ebene eindeutig sein, auf der sie erstellt werden. For example, {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}a secret created at the environment level must have a unique name in that environment, {% endif %}a secret created at the repository level must have a unique name in that repository, and a secret created at the organization level must have a unique name at that level.
|
||||
* Geheime Namen müssen auf der Ebene eindeutig sein, auf der sie erstellt werden. For example, {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %}a secret created at the environment level must have a unique name in that environment, {% endif %}a secret created at the repository level must have a unique name in that repository, and a secret created at the organization level must have a unique name at that level.
|
||||
|
||||
If a secret with the same name exists at multiple levels, the secret at the lower level takes precedence. For example, if an organization-level secret has the same name as a repository-level secret, then the repository-level secret takes precedence.{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %} Similarly, if an organization, repository, and environment all have a secret with the same name, the environment-level secret takes precedence.{% endif %}
|
||||
If a secret with the same name exists at multiple levels, the secret at the lower level takes precedence. For example, if an organization-level secret has the same name as a repository-level secret, then the repository-level secret takes precedence.{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %} Similarly, if an organization, repository, and environment all have a secret with the same name, the environment-level secret takes precedence.{% endif %}
|
||||
|
||||
To help ensure that {% data variables.product.prodname_dotcom %} redacts your secret in logs, avoid using structured data as the values of secrets. Vermeide beispielsweise Geheimnisse zu erstellen, die JSON oder codierte Git-Blobs enthalten.
|
||||
|
||||
@@ -51,7 +53,7 @@ Du kannst verschlüsselte Geheimnisse in einer Workflow-Datei verwenden und lese
|
||||
|
||||
{% endwarning %}
|
||||
|
||||
{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}
|
||||
{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %}
|
||||
Organization and repository secrets are read when a workflow run is queued, and environment secrets are read when a job referencing the environment starts.
|
||||
{% endif %}
|
||||
|
||||
@@ -73,9 +75,15 @@ Beim Generieren von Anmeldeinformationen wird empfohlen, möglichst geringe Bere
|
||||
1. Geben Sie den Wert für Ihr Geheimnis ein.
|
||||
1. Klicken Sie auf **Add secret** (Geheimnis hinzufügen).
|
||||
|
||||
If your repository {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}has environment secrets or {% endif %}can access secrets from the parent organization, then those secrets are also listed on this page.
|
||||
If your repository {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0"or currentVersion == "github-ae@latest" %}has environment secrets or {% endif %}can access secrets from the parent organization, then those secrets are also listed on this page.
|
||||
|
||||
{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}
|
||||
{% note %}
|
||||
|
||||
**Note:** Users with collaborator access can use the REST API to manage secrets for a repository. For more information, see "[{% data variables.product.prodname_actions %} secrets API](/rest/reference/actions#secrets)."
|
||||
|
||||
{% endnote %}
|
||||
|
||||
{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" }
|
||||
### Creating encrypted secrets for an environment
|
||||
|
||||
{% data reusables.github-actions.permissions-statement-secrets-environment %}
|
||||
@@ -177,7 +185,7 @@ steps:
|
||||
|
||||
### Einschränkungen für Geheimnisse
|
||||
|
||||
You can store up to 1,000 secrets per organization{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}, 100 secrets per repository, and 100 secrets per environment{% else %} and 100 secrets per repository{% endif %}. A workflow may use up to 100 organization secrets and 100 repository secrets.{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %} Additionally, a job referencing an environment may use up to 100 environment secrets.{% endif %}
|
||||
You can store up to 1,000 secrets per organization{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %}, 100 secrets per repository, and 100 secrets per environment{% else %} and 100 secrets per repository{% endif %}. A workflow may use up to 100 organization secrets and 100 repository secrets.{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %} Additionally, a job referencing an environment may use up to 100 environment secrets.{% endif %}
|
||||
|
||||
Geheimnisse sind auf 64 KB beschränkt. Um Geheimnisse zu verwenden, die größer als 64 KB sind, kannst Du verschlüsselte Geheimnisse in Deinem Repository speichern und die Passphrase zur Entschlüsselung als Geheimnis auf {% data variables.product.prodname_dotcom %} speichern. Du kannst beispielsweise `gpg` verwenden, um Deine Anmeldeinformationen lokal zu verschlüsseln, bevor Du die Datei in Ihrem Repository auf {% data variables.product.prodname_dotcom %} eincheckst. Weitere Informationen finden Sie auf der „[gpg-Manpage](https://www.gnupg.org/gph/de/manual/r1023.html)“.
|
||||
|
||||
|
||||
@@ -9,10 +9,12 @@ redirect_from:
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
enterprise-server: '>=2.22'
|
||||
github-ae: '*'
|
||||
---
|
||||
|
||||
{% data reusables.actions.enterprise-beta %}
|
||||
{% data reusables.actions.enterprise-github-hosted-runners %}
|
||||
{% data reusables.actions.ae-beta %}
|
||||
|
||||
### Informationen zu Umgebungsvariablen
|
||||
|
||||
@@ -40,7 +42,7 @@ To use the value of an environment variable in a workflow file, you should use t
|
||||
|
||||
If you use the workflow file's `run` key to read environment variables from within the runner operating system (as shown in the example above), the variable is substituted in the runner operating system after the job is sent to the runner. For other parts of a workflow file, you must use the `env` context to read environment variables; this is because workflow keys (such as `if`) require the variable to be substituted during workflow processing before it is sent to the runner.
|
||||
|
||||
You can also use the {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %}`GITHUB_ENV` environment file{% else %} `set-env` workflow command{% endif %} to set an environment variable that the following steps in a workflow can use. The {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %}environment file{% else %} `set-env` command{% endif %} can be used directly by an action or as a shell command in a workflow file using the `run` keyword. Weitere Informationen findest Du unter „[Workflow-Befehle für {% data variables.product.prodname_actions %}](/actions/reference/workflow-commands-for-github-actions/#setting-an-environment-variable)“.
|
||||
You can also use the {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %}`GITHUB_ENV` environment file{% else %} `set-env` workflow command{% endif %} to set an environment variable that the following steps in a workflow can use. The {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %}environment file{% else %} `set-env` command{% endif %} can be used directly by an action or as a shell command in a workflow file using the `run` keyword. Weitere Informationen findest Du unter „[Workflow-Befehle für {% data variables.product.prodname_actions %}](/actions/reference/workflow-commands-for-github-actions/#setting-an-environment-variable)“.
|
||||
|
||||
### Standard-Umgebungsvariablen
|
||||
|
||||
|
||||
@@ -5,9 +5,11 @@ product: '{% data reusables.gated-features.environments %}'
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
enterprise-server: '>=3.1'
|
||||
github-ae: '*'
|
||||
---
|
||||
|
||||
{% data reusables.actions.environments-beta %}
|
||||
{% data reusables.actions.ae-beta %}
|
||||
|
||||
### About environments
|
||||
|
||||
@@ -19,7 +21,7 @@ Environment protection rules and environment secrets are only available on publi
|
||||
|
||||
#### Environment protection rules
|
||||
|
||||
Environment protection rules require specific conditions to pass before a job referencing the environment can proceed. You can use environment protection rules to require a manual approval or to delay a job.
|
||||
Environment protection rules require specific conditions to pass before a job referencing the environment can proceed. {% if currentVersion == "free-pro-team@latest" or currentVersion == "github-ae@next" or currentVersion ver_gt "enterprise-server@3.1" %}You can use environment protection rules to require a manual approval, delay a job, or restrict the environment to certain branches.{% else %}You can use environment protection rules to require a manual approval or delay a job.{% endif %}
|
||||
|
||||
##### Required reviewers
|
||||
|
||||
@@ -31,6 +33,17 @@ For more information on reviewing jobs that reference an environment with requir
|
||||
|
||||
Use a wait timer to delay a job for a specific amount of time after the job is initially triggered. The time (in minutes) must be an integer between 0 and 43,200 (30 days).
|
||||
|
||||
{% if currentVersion == "free-pro-team@latest" or currentVersion == "github-ae@next" or currentVersion ver_gt "enterprise-server@3.1" %}
|
||||
##### Deployment branches
|
||||
|
||||
Use deployment branches to restrict which branches can deploy to the environment. Below are the options for deployment branches for an environment:
|
||||
|
||||
* **All branches**: All branches in the repository can deploy to the environment.
|
||||
* **Protected branches**: Only branches with branch protection rules enabled can deploy to the environment. If no branch protection rules are defined for any branch in the repository, then all branches can deploy. For more information about branch protection rules, see "[About protected branches](/github/administering-a-repository/about-protected-branches)."
|
||||
* **Selected branches**: Only branches that match your specified name patterns can deploy to the environment.
|
||||
|
||||
For example, if you specify `releases/*` as a deployment branch rule, only branches whose name begins with `releases/` can deploy to the environment. (Wildcard characters will not match `/`. To match branches that begin with `release/` and contain an additional single slash, use `release/*/*`.) If you add `main` as a deployment branch rule, a branch named `main` can also deploy to the environment. For more information about syntax options for deployment branches, see the [Ruby File.fnmatch documentation](https://ruby-doc.org/core-2.5.1/File.html#method-c-fnmatch).
|
||||
{% endif %}
|
||||
#### Environment secrets
|
||||
|
||||
Secrets stored in an environment are only available to workflow jobs that reference the environment. If the environment requires approval, a job cannot access environment secrets until one of the required reviewers approves it. For more information about secrets, see "[Encrypted secrets](/actions/reference/encrypted-secrets)."
|
||||
@@ -46,6 +59,8 @@ Secrets stored in an environment are only available to workflow jobs that refere
|
||||
1. Enter a name for the environment, then click **Configure environment**. Environment names are not case sensitive. An environment name may not exceed 255 characters and must be unique within the repository.
|
||||
1. Configure any environment protection rules or environment secrets.
|
||||
|
||||
{% if currentVersion == "free-pro-team@latest" or currentVersion == "github-ae@next" or currentVersion ver_gt "enterprise-server@3.1" %}You can also create and configure environments through the REST API. For more information, see "[Environments](/rest/reference/repos#environments)" and "[Secrets](/rest/reference/actions#secrets)."{% endif %}
|
||||
|
||||
Running a workflow that references an environment that does not exist will create an environment with the referenced name. The newly created environment will not have any protection rules or secrets configured. Anyone that can edit workflows in the repository can create environments via a workflow file, but only repository admins can configure the environment.
|
||||
|
||||
### Referencing an environment
|
||||
@@ -67,3 +82,5 @@ Deleting an environment will delete all secrets and protection rules associated
|
||||
{% data reusables.github-actions.sidebar-environment %}
|
||||
1. Next the the environment that you want to delete, click {% octicon "trashcan" aria-label="The trashcan icon" %}.
|
||||
2. Click **I understand, delete this environment**.
|
||||
|
||||
{% if currentVersion == "free-pro-team@latest" or currentVersion == "github-ae@next" or currentVersion ver_gt "enterprise-server@3.1" %}You can also delete environments through the REST API. For more information, see "[Environments](/rest/reference/repos#environments)."{% endif %}
|
||||
|
||||
@@ -10,14 +10,16 @@ redirect_from:
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
enterprise-server: '>=2.22'
|
||||
github-ae: '*'
|
||||
---
|
||||
|
||||
{% data reusables.actions.enterprise-beta %}
|
||||
{% data reusables.actions.enterprise-github-hosted-runners %}
|
||||
{% data reusables.actions.ae-beta %}
|
||||
|
||||
### Configuring workflow events
|
||||
|
||||
You can configure workflows to run for one or more events using the `on` workflow syntax. Weitere Informationen finden Sie unter „[Workflow-Syntax für {% data variables.product.prodname_actions %}](/articles/workflow-syntax-for-github-actions#on)“.
|
||||
You can configure workflows to run for one or more events using the `on` workflow syntax. For more information, see "[Workflow syntax for {% data variables.product.prodname_actions %}](/articles/workflow-syntax-for-github-actions#on)."
|
||||
|
||||
{% data reusables.github-actions.actions-on-examples %}
|
||||
|
||||
@@ -41,6 +43,8 @@ Die folgenden Schritte laufen ab, um einen Workflow-Lauf auszulösen:
|
||||
|
||||
The `schedule` event allows you to trigger a workflow at a scheduled time.
|
||||
|
||||
{% data reusables.actions.schedule-delay %}
|
||||
|
||||
#### `Zeitplan`
|
||||
|
||||
| Nutzlast des Webhook-Ereignisses | Aktivitätstypen | `GITHUB_SHA` | `GITHUB_REF` |
|
||||
@@ -147,7 +151,7 @@ jobs:
|
||||
|
||||
Mit der {% data variables.product.product_name %}-API können Sie das Webhook-Ereignis [`repository_dispatch`](/webhooks/event-payloads/#repository_dispatch) auslösen, wenn ein Workflow für eine Aktivität ausgelöst werden soll, die außerhalb von {% data variables.product.prodname_dotcom %} abläuft. For more information, see "[Create a repository dispatch event](/rest/reference/repos#create-a-repository-dispatch-event)."
|
||||
|
||||
Soll das benutzerdefinierte Webhook-Ereignis `repository_dispatch` ausgelöst werden, senden Sie eine `POST`-Anfrage an einen {% data variables.product.product_name %}-API-Endpunkt, und geben Sie den Namen für einen `event_type` als Beschreibung für den Aktivitätstyp an. Soll ein Workflow-Lauf ausgelöst werden, konfigurierest Du außerdem Deinen Workflow für die Verwendung des Ereignisses `repository_dispatch`.
|
||||
Soll das benutzerdefinierte Webhook-Ereignis `repository_dispatch` ausgelöst werden, senden Sie eine `POST`-Anfrage an einen {% data variables.product.product_name %}-API-Endpunkt, und geben Sie den Namen für einen `event_type` als Beschreibung für den Aktivitätstyp an. Soll ein Workflow-Lauf ausgelöst werden, konfigurieren Sie außerdem den Workflow für die Verwendung des Ereignisses `repository_dispatch`.
|
||||
|
||||
##### Beispiel
|
||||
|
||||
@@ -161,7 +165,9 @@ on:
|
||||
|
||||
### Webhook-Ereignisse
|
||||
|
||||
Du kannst Deinen Workflow so konfigurieren, dass er ausgeführt wird, sobald Webhook-Ereignisse in GitHub erstellt werden. Einige Ereignisse werden von mehreren Aktivitätstypen ausgelöst. Wird ein Ereignis von mehreren Aktivitätstypen ausgelöst, können Sie die Aktivitätstypen angeben, die die Ausführung des Workflows auslösen sollen. For more information, see "[Webhooks](/webhooks)."
|
||||
You can configure your workflow to run when webhook events are generated on {% data variables.product.product_name %}. Einige Ereignisse werden von mehreren Aktivitätstypen ausgelöst. Wird ein Ereignis von mehreren Aktivitätstypen ausgelöst, können Sie die Aktivitätstypen angeben, die die Ausführung des Workflows auslösen sollen. For more information, see "[Webhooks](/webhooks)."
|
||||
|
||||
Not all webhook events trigger workflows. For the complete list of available webhook events and their payloads, see "[Webhook events and payloads](/developers/webhooks-and-events/webhook-events-and-payloads)."
|
||||
|
||||
#### `check_run`
|
||||
|
||||
@@ -271,6 +277,12 @@ on:
|
||||
deployment_status
|
||||
```
|
||||
|
||||
{% note %}
|
||||
|
||||
**Note:** When a deployment status's state is set to `inactive`, a webhook event will not be created.
|
||||
|
||||
{% endnote %}
|
||||
|
||||
#### `Fork`
|
||||
|
||||
Führt den Workflow aus, wenn ein Benutzer ein Repository forkt, wodurch das Ereignis `fork` ausgelöst wird. For information about the REST API, see "[Create a fork](/rest/reference/repos#create-a-fork)."
|
||||
@@ -307,7 +319,7 @@ on:
|
||||
|
||||
#### `issue_comment`
|
||||
|
||||
Führt den Workflow aus, wenn das Ereignis `issue_comment` eintritt. {% data reusables.developer-site.multiple_activity_types %} For information about the REST API, see "[Issue comments](/developers/webhooks-and-events/webhook-events-and-payloads#issue_comment)."
|
||||
Führt Deinen Workflow jedes Mal aus, wenn das Ereignis `issue_comment` eintritt. {% data reusables.developer-site.multiple_activity_types %} For information about the REST API, see "[Issue comments](/developers/webhooks-and-events/webhook-events-and-payloads#issue_comment)."
|
||||
|
||||
{% data reusables.github-actions.branch-requirement %}
|
||||
|
||||
@@ -317,7 +329,7 @@ Führt den Workflow aus, wenn das Ereignis `issue_comment` eintritt. {% data reu
|
||||
|
||||
{% data reusables.developer-site.limit_workflow_to_activity_types %}
|
||||
|
||||
Sie können einen Workflow beispielsweise ausführen, wenn ein Issue-Kommentar erstellt (`created`) oder gelöscht (`deleted`) wurde.
|
||||
Du kannst einen Workflow beispielsweise ausführen, wenn ein Problemkommentar erstellt (`created`) oder gelöscht (`deleted`) wurde.
|
||||
|
||||
```yaml
|
||||
on:
|
||||
@@ -343,7 +355,7 @@ jobs:
|
||||
- run: |
|
||||
echo "Comment on PR #${{ github.event.issue.number }}"
|
||||
|
||||
issue-commented:
|
||||
issue_commented:
|
||||
# This job only runs for issue comments
|
||||
name: Issue comment
|
||||
if: ${{ !github.event.issue.pull_request }}
|
||||
@@ -366,7 +378,7 @@ Führt den Workflow aus, wenn das Ereignis `issues` eintritt. {% data reusables.
|
||||
|
||||
{% data reusables.developer-site.limit_workflow_to_activity_types %}
|
||||
|
||||
Sie können einen Workflow beispielsweise ausführen, wenn ein Issue geöffnet (`opened`) oder bearbeitet (`edited`) oder wenn ein Meilenstein gesetzt (`milestoned`) wurde.
|
||||
Du kannst einen Workflow beispielsweise ausführen, wenn ein Problem geöffnet (`opened`) oder bearbeitet (`edited`) wurde oder wenn dafür ein Meilenstein gesetzt wurde (`milestoned`).
|
||||
|
||||
```yaml
|
||||
on:
|
||||
@@ -396,7 +408,7 @@ on:
|
||||
|
||||
#### `Meilensteine`
|
||||
|
||||
Führt den Workflow aus, wenn das Ereignis `milestone` eintritt. {% data reusables.developer-site.multiple_activity_types %} For information about the REST API, see "[Milestones](/rest/reference/issues#milestones)."
|
||||
Führt Deinen Workflow aus, wenn das Ereignis `milestone` eintritt. {% data reusables.developer-site.multiple_activity_types %} For information about the REST API, see "[Milestones](/rest/reference/issues#milestones)."
|
||||
|
||||
{% data reusables.github-actions.branch-requirement %}
|
||||
|
||||
@@ -453,7 +465,7 @@ on:
|
||||
|
||||
#### `project_card`
|
||||
|
||||
Führt den Workflow aus, wenn das Ereignis `project_ticket` eintritt. {% data reusables.developer-site.multiple_activity_types %} For information about the REST API, see "[Project cards](/rest/reference/projects#cards)."
|
||||
Führt den Workflow aus, wenn das Ereignis `project_card` eintritt. {% data reusables.developer-site.multiple_activity_types %} For information about the REST API, see "[Project cards](/rest/reference/projects#cards)."
|
||||
|
||||
{% data reusables.github-actions.branch-requirement %}
|
||||
|
||||
@@ -473,7 +485,7 @@ on:
|
||||
|
||||
#### `project_column`
|
||||
|
||||
Führt den Workflow aus, wenn das Ereignis `project_column` eintritt. {% data reusables.developer-site.multiple_activity_types %} For information about the REST API, see "[Project columns](/rest/reference/projects#columns)."
|
||||
Führt Deinen Workflow aus, wenn das Ereignis `project_column` eintritt. {% data reusables.developer-site.multiple_activity_types %} For information about the REST API, see "[Project columns](/rest/reference/projects#columns)."
|
||||
|
||||
{% data reusables.github-actions.branch-requirement %}
|
||||
|
||||
@@ -483,7 +495,7 @@ Führt den Workflow aus, wenn das Ereignis `project_column` eintritt. {% data re
|
||||
|
||||
{% data reusables.developer-site.limit_workflow_to_activity_types %}
|
||||
|
||||
Sie können einen Workflow beispielsweise ausführen, wenn eine Projektspalte erstellt (`created`) oder gelöscht (`deleted`) wurde.
|
||||
Du kannst einen Workflow beispielsweise ausführen, wenn eine Projektspalte erstellt (`created`) oder gelöscht (`deleted`) wurde.
|
||||
|
||||
```yaml
|
||||
on:
|
||||
@@ -493,7 +505,7 @@ on:
|
||||
|
||||
#### `public`
|
||||
|
||||
Führt den Workflow aus, wenn ein Benutzer ein privates Repository öffentlich macht, wodurch das Ereignis `public` ausgelöst wird. For information about the REST API, see "[Edit repositories](/rest/reference/repos#edit)."
|
||||
Führt Deinen Workflow aus, wenn ein Benutzer ein privates Repository öffentlich macht, wodurch das Ereignis `public` ausgelöst wird. For information about the REST API, see "[Edit repositories](/rest/reference/repos#edit)."
|
||||
|
||||
{% data reusables.github-actions.branch-requirement %}
|
||||
|
||||
@@ -574,7 +586,7 @@ on:
|
||||
|
||||
{% data reusables.developer-site.pull_request_forked_repos_link %}
|
||||
|
||||
{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %}
|
||||
{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %}
|
||||
|
||||
#### `pull_request_target`
|
||||
|
||||
@@ -582,13 +594,13 @@ This event runs in the context of the base of the pull request, rather than in t
|
||||
|
||||
{% warning %}
|
||||
|
||||
**Warning:** The `pull_request_target` event is granted a read/write repository token and can access secrets, even when it is triggered from a fork. Although the workflow runs in the context of the base of the pull request, you should make sure that you do not check out, build, or run untrusted code from the pull request with this event. Additionally, any caches share the same scope as the base branch, and to help prevent cache poisoning, you should not save the cache if there is a possibility that the cache contents were altered.
|
||||
**Warning:** The `pull_request_target` event is granted a read/write repository token and can access secrets, even when it is triggered from a fork. Although the workflow runs in the context of the base of the pull request, you should make sure that you do not check out, build, or run untrusted code from the pull request with this event. Additionally, any caches share the same scope as the base branch, and to help prevent cache poisoning, you should not save the cache if there is a possibility that the cache contents were altered. For more information, see "[Keeping your GitHub Actions and workflows secure: Preventing pwn requests](https://securitylab.github.com/research/github-actions-preventing-pwn-requests)" on the GitHub Security Lab website.
|
||||
|
||||
{% endwarning %}
|
||||
|
||||
| Nutzlast des Webhook-Ereignisses | Aktivitätstypen | `GITHUB_SHA` | `GITHUB_REF` |
|
||||
| -------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------- | -------------- |
|
||||
| [`pull_request`](/webhooks/event-payloads/#pull_request) | - `assigned`<br/>- `unassigned`<br/>- `labeled`<br/>- `unlabeled`<br/>- `opened`<br/>- `edited`<br/>- `closed`<br/>- `reopened`<br/>- `synchronize`<br/>- `ready_for_review`<br/>- `locked`<br/>- `unlocked` <br/>- `review_requested` <br/>- `review_request_removed` | Last commit on the PR base branch | PR base branch |
|
||||
| Nutzlast des Webhook-Ereignisses | Aktivitätstypen | `GITHUB_SHA` | `GITHUB_REF` |
|
||||
| --------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------- | -------------- |
|
||||
| [`pull_request_target`](/webhooks/event-payloads/#pull_request) | - `assigned`<br/>- `unassigned`<br/>- `labeled`<br/>- `unlabeled`<br/>- `opened`<br/>- `edited`<br/>- `closed`<br/>- `reopened`<br/>- `synchronize`<br/>- `ready_for_review`<br/>- `locked`<br/>- `unlocked` <br/>- `review_requested` <br/>- `review_request_removed` | Last commit on the PR base branch | PR base branch |
|
||||
|
||||
By default, a workflow only runs when a `pull_request_target`'s activity type is `opened`, `synchronize`, or `reopened`. Sollen Workflows für weitere Aktivitätstypen ausgelöst werden, geben Sie das Stichwort `types` an. Weitere Informationen findest Du unter „[Workflow-Syntax für {% data variables.product.prodname_actions %}](/articles/workflow-syntax-for-github-actions#onevent_nametypes)“.
|
||||
|
||||
@@ -606,7 +618,7 @@ on:
|
||||
|
||||
{% note %}
|
||||
|
||||
**Hinweis:** Die Webhook-Nutzlast, die Für GitHub-Aktionen verfügbar ist, enthält im Objekt `commit` nicht die Attribute `added`, `removed` und `modified`. Du kannst das vollständige Commit-Objekt mit der REST-API abrufen. For more information, see "[Get a single commit](/rest/reference/repos#get-a-single-commit)"".
|
||||
**Hinweis:** Die Webhook-Nutzlast, die Für GitHub-Aktionen verfügbar ist, enthält im Objekt `commit` nicht die Attribute `added`, `removed` und `modified`. Du kannst das vollständige Commit-Objekt mit der REST-API abrufen. For more information, see "[Get a commit](/rest/reference/repos#get-a-commit)".
|
||||
|
||||
{% endnote %}
|
||||
|
||||
@@ -702,7 +714,7 @@ on:
|
||||
types: [started]
|
||||
```
|
||||
|
||||
{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %}
|
||||
{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %}
|
||||
|
||||
#### `workflow_run`
|
||||
|
||||
@@ -710,13 +722,15 @@ on:
|
||||
|
||||
{% data reusables.github-actions.branch-requirement %}
|
||||
|
||||
| Nutzlast des Webhook-Ereignisses | Aktivitätstypen | `GITHUB_SHA` | `GITHUB_REF` |
|
||||
| -------------------------------------------------------- | --------------- | --------------------------------- | --------------- |
|
||||
| [`workflow_run`](/webhooks/event-payloads/#workflow_run) | - n/a | Letzter Commit im Standard-Branch | Standard-Branch |
|
||||
| Nutzlast des Webhook-Ereignisses | Aktivitätstypen | `GITHUB_SHA` | `GITHUB_REF` |
|
||||
| -------------------------------------------------------- | ------------------------------------- | --------------------------------- | --------------- |
|
||||
| [`workflow_run`](/webhooks/event-payloads/#workflow_run) | - `completed`<br/>- `requested` | Letzter Commit im Standard-Branch | Standard-Branch |
|
||||
|
||||
{% data reusables.developer-site.limit_workflow_to_activity_types %}
|
||||
|
||||
If you need to filter branches from this event, you can use `branches` or `branches-ignore`.
|
||||
|
||||
In this example, a workflow is configured to run after the separate “Run Tests” workflow completes.
|
||||
In this example, a workflow is configured to run after the separate "Run Tests" workflow completes.
|
||||
|
||||
```yaml
|
||||
on:
|
||||
@@ -730,6 +744,27 @@ on:
|
||||
|
||||
{% endif %}
|
||||
|
||||
To run a workflow job conditionally based on the result of the previous workflow run, you can use the [`jobs.<job_id>.if`](/actions/reference/workflow-syntax-for-github-actions#jobsjob_idif) or [`jobs.<job_id>.steps[*].if`](/actions/reference/workflow-syntax-for-github-actions#jobsjob_idstepsif) conditional combined with the `conclusion` of the previous run. Ein Beispiel:
|
||||
|
||||
```yaml
|
||||
on:
|
||||
workflow_run:
|
||||
workflows: ["Build"]
|
||||
types: [completed]
|
||||
|
||||
jobs:
|
||||
on-success:
|
||||
runs-on: ubuntu-latest
|
||||
if: {% raw %}${{ github.event.workflow_run.conclusion == 'success' }}{% endraw %}
|
||||
steps:
|
||||
...
|
||||
on-failure:
|
||||
runs-on: ubuntu-latest
|
||||
if: {% raw %}${{ github.event.workflow_run.conclusion == 'failure' }}{% endraw %}
|
||||
steps:
|
||||
...
|
||||
```
|
||||
|
||||
### Neue Workflows mit einem persönlichen Zugangs-Token auslösen
|
||||
|
||||
{% data reusables.github-actions.actions-do-not-trigger-workflows %} weitere Informationen findest Du unter „[Authentifizierung mit dem GITHUB_TOKEN](/actions/configuring-and-managing-workflows/authenticating-with-the-github_token)“.
|
||||
|
||||
@@ -6,10 +6,12 @@ redirect_from:
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
enterprise-server: '>=2.22'
|
||||
github-ae: '*'
|
||||
---
|
||||
|
||||
{% data reusables.actions.enterprise-beta %}
|
||||
{% data reusables.actions.enterprise-github-hosted-runners %}
|
||||
{% data reusables.actions.ae-beta %}
|
||||
|
||||
### Syntax für Workflows
|
||||
|
||||
@@ -27,12 +29,12 @@ You can configure workflows to run when specific GitHub events occur, at a sched
|
||||
|
||||
### Authentication and secrets
|
||||
|
||||
{% data variables.product.prodname_dotcom %} stellt ein Token zur Verfügung, mit dem Du Dich im Namen von {% data variables.product.prodname_actions %} authentifizieren kannst. You can also store sensitive information as a secret in your organization{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}, repository, or environments{% else %} or repository{% endif %}. {% data variables.product.prodname_dotcom %} encrypts all secrets.
|
||||
{% data variables.product.prodname_dotcom %} stellt ein Token zur Verfügung, mit dem Du Dich im Namen von {% data variables.product.prodname_actions %} authentifizieren kannst. You can also store sensitive information as a secret in your organization{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %}, repository, or environments{% else %} or repository{% endif %}. {% data variables.product.prodname_dotcom %} encrypts all secrets.
|
||||
|
||||
{% link_in_list /authentication-in-a-workflow %}
|
||||
{% link_in_list /encrypted-secrets %}
|
||||
|
||||
{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}
|
||||
{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %}
|
||||
### Environments
|
||||
|
||||
Workflow jobs can reference environments that have protection rules or environment-specific secrets.
|
||||
@@ -40,12 +42,11 @@ Workflow jobs can reference environments that have protection rules or environme
|
||||
{% link_in_list /environments %}
|
||||
{% endif %}
|
||||
|
||||
### {% data variables.product.prodname_dotcom %}-gehostete Runner
|
||||
### Umgebungsvariablen
|
||||
|
||||
GitHub offers hosted virtual machines to run workflows. The virtual machine contains an environment with tools, packages, and environment variables for GitHub Actions to use.
|
||||
{% data variables.product.prodname_dotcom %} setzt Standard-Umgebungsvariablen für jeden {% data variables.product.prodname_actions %}-Workflow-Lauf. Du kannst auch benutzerdefinierte Umgebungsvariablen in Deiner Workflow-Datei festlegen.
|
||||
|
||||
{% link_in_list /environment-variables %}
|
||||
{% link_in_list /specifications-for-github-hosted-runners %}
|
||||
|
||||
{% if currentVersion == "free-pro-team@latest" %}
|
||||
### Administration
|
||||
|
||||
@@ -7,10 +7,14 @@ redirect_from:
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
enterprise-server: '>=2.22'
|
||||
github-ae: '*'
|
||||
topics:
|
||||
- Abrechnung
|
||||
---
|
||||
|
||||
{% data reusables.actions.enterprise-beta %}
|
||||
{% data reusables.actions.enterprise-github-hosted-runners %}
|
||||
{% data reusables.actions.ae-beta %}
|
||||
|
||||
### Informationen zur Abrechnung für {% data variables.product.prodname_actions %}
|
||||
|
||||
@@ -18,7 +22,7 @@ versions:
|
||||
{% data reusables.github-actions.actions-billing %} Weitere Informationen findest Du unter „[Informationen zur Abrechnung für {% data variables.product.prodname_actions %}](/github/setting-up-and-managing-billing-and-payments-on-github/about-billing-for-github-actions)“.
|
||||
{% else %}
|
||||
GitHub Actions usage is free for
|
||||
{% data variables.product.prodname_ghe_server %} that use self-hosted runners.
|
||||
{% data variables.product.prodname_ghe_server %}s that use self-hosted runners.
|
||||
{% endif %}
|
||||
|
||||
### Nutzungseinschränkungen
|
||||
@@ -56,7 +60,7 @@ In addition to the usage limits, you must ensure that you use
|
||||
{% data variables.product.prodname_actions %} within the [GitHub Terms of Service](/articles/github-terms-of-service/). Weitere Informationen zu {% data variables.product.prodname_actions %}-spezifischen Bedingungen findest Du unter [Zusätzliche Produktbedingungen für GitHub](/github/site-policy/github-additional-product-terms#a-actions-usage).
|
||||
{% endif %}
|
||||
|
||||
{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %}
|
||||
{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %}
|
||||
### Artifact and log retention policy
|
||||
|
||||
You can configure the artifact and log retention period for your repository, organization, or enterprise account.
|
||||
@@ -79,7 +83,7 @@ Weitere Informationen findest Du unter:
|
||||
- "[Disabling or limiting {% data variables.product.prodname_actions %} for your organization](/github/setting-up-and-managing-organizations-and-teams/disabling-or-limiting-github-actions-for-your-organization)"{% if currentVersion == "free-pro-team@latest" %}
|
||||
- "[Enforcing {% data variables.product.prodname_actions %} policies in your enterprise account](/github/setting-up-and-managing-your-enterprise/enforcing-github-actions-policies-in-your-enterprise-account)" for {% data variables.product.prodname_ghe_cloud %}{% endif %}
|
||||
|
||||
{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %}
|
||||
{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %}
|
||||
### Disabling and enabling workflows
|
||||
|
||||
You can enable and disable individual workflows in your repository on {% data variables.product.prodname_dotcom %}.
|
||||
|
||||
@@ -12,16 +12,18 @@ redirect_from:
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
enterprise-server: '>=2.22'
|
||||
github-ae: '*'
|
||||
---
|
||||
|
||||
{% data reusables.actions.enterprise-beta %}
|
||||
{% data reusables.actions.enterprise-github-hosted-runners %}
|
||||
{% data reusables.actions.ae-beta %}
|
||||
|
||||
### Informationen zu Workflow-Befehlen
|
||||
|
||||
Aktionen können mit dem Runner-Rechner kommunizieren, um Umgebungsvariablen zu setzen, Werte zur Verwendung in anderen Aktionen auszugeben, Debug-Meldungen zu den Ausgabeprotokollen zuzufügen und für andere Zwecke.
|
||||
|
||||
{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %}
|
||||
{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %}
|
||||
Most workflow commands use the `echo` command in a specific format, while others are invoked by writing to a file. For more information, see ["Environment files".](#environment-files)
|
||||
{% else %}
|
||||
Workflow-Befehle verwenden den Befehl `echo` in einem bestimmten Format.
|
||||
@@ -65,26 +67,26 @@ You can use the `set-output` command in your workflow to set the same value:
|
||||
|
||||
Die folgende Tabelle zeigt, welche Toolkit-Funktionen innerhalb eines Workflows verfügbar sind:
|
||||
|
||||
| Toolkit-Funktion | Äquivalenter Workflow-Befehl |
|
||||
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------- |
|
||||
| `core.addPath` | |
|
||||
| {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %}Accessible using environment file `GITHUB_PATH`{% else %} `add-path` {% endif %} | |
|
||||
| | |
|
||||
| `core.debug` | `debug` |
|
||||
| `core.error` | `error` |
|
||||
| `core.endGroup` | `endgroup` |
|
||||
| `core.exportVariable` | |
|
||||
| {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %}Accessible using environment file `GITHUB_ENV`{% else %} `set-env` {% endif %} | |
|
||||
| | |
|
||||
| `core.getInput` | Zugänglich durch Umgebungsvariable `INPUT_{NAME}` |
|
||||
| `core.getState` | Zugänglich durch Umgebungsvariable `STATE_{NAME}` |
|
||||
| `core.isDebug` | Zugänglich durch Umgebungsvariable `RUNNER_DEBUG` |
|
||||
| `core.saveState` | `save-state` |
|
||||
| `core.setFailed` | Wird als Abkürzung für `::error` und `exit 1` verwendet |
|
||||
| `core.setOutput` | `set-output` |
|
||||
| `core.setSecret` | `add-mask` |
|
||||
| `core.startGroup` | `Gruppe` |
|
||||
| `core.warning` | `warning file` |
|
||||
| Toolkit-Funktion | Äquivalenter Workflow-Befehl |
|
||||
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------- |
|
||||
| `core.addPath` | |
|
||||
| {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %}Accessible using environment file `GITHUB_PATH`{% else %} `add-path` {% endif %} | |
|
||||
| | |
|
||||
| `core.debug` | `debug` |
|
||||
| `core.error` | `error` |
|
||||
| `core.endGroup` | `endgroup` |
|
||||
| `core.exportVariable` | |
|
||||
| {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %}Accessible using environment file `GITHUB_ENV`{% else %} `set-env` {% endif %} | |
|
||||
| | |
|
||||
| `core.getInput` | Zugänglich durch Umgebungsvariable `INPUT_{NAME}` |
|
||||
| `core.getState` | Zugänglich durch Umgebungsvariable `STATE_{NAME}` |
|
||||
| `core.isDebug` | Zugänglich durch Umgebungsvariable `RUNNER_DEBUG` |
|
||||
| `core.saveState` | `save-state` |
|
||||
| `core.setFailed` | Wird als Abkürzung für `::error` und `exit 1` verwendet |
|
||||
| `core.setOutput` | `set-output` |
|
||||
| `core.setSecret` | `add-mask` |
|
||||
| `core.startGroup` | `Gruppe` |
|
||||
| `core.warning` | `warning file` |
|
||||
|
||||
{% if currentVersion ver_lt "enterprise-server@2.23" %}
|
||||
### Setting an environment variable
|
||||
@@ -248,7 +250,7 @@ Die Variable `STATE_processID` ist dann exklusiv für das Bereinigungsskript ver
|
||||
console.log("The running PID from the main action is: " + process.env.STATE_processID);
|
||||
```
|
||||
|
||||
{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %}
|
||||
{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %}
|
||||
## Environment Files
|
||||
|
||||
During the execution of a workflow, the runner generates temporary files that can be used to perform certain actions. The path to these files are exposed via environment variables. You will need to use UTF-8 encoding when writing to these files to ensure proper processing of the commands. Multiple commands can be written to the same file, separated by newlines.
|
||||
|
||||
@@ -10,20 +10,22 @@ redirect_from:
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
enterprise-server: '>=2.22'
|
||||
github-ae: '*'
|
||||
---
|
||||
|
||||
{% data reusables.actions.enterprise-beta %}
|
||||
{% data reusables.actions.enterprise-github-hosted-runners %}
|
||||
{% data reusables.actions.ae-beta %}
|
||||
|
||||
### Informationen zur YAML-Syntax für Workflows
|
||||
|
||||
Workflow-Dateien verwenden die YAML-Syntax und müssen die Dateierweiterung `.yml` oder `.yaml` aufweisen. Wenn Sie bislang noch nicht mit YAML gearbeitet haben, lesen Sie den Artikel „[Learn YAML in five minutes](https://www.codeproject.com/Articles/1214409/Learn-YAML-in-five-minutes)“.
|
||||
Workflow-Dateien verwenden die YAML-Syntax und müssen die Dateierweiterung `.yml` oder `.yaml` aufweisen. {% data reusables.actions.learn-more-about-yaml %}
|
||||
|
||||
Workflow-Dateien müssen im Verzeichnis `.github/workflows` im Repository gespeichert werden.
|
||||
|
||||
### `name`
|
||||
|
||||
Name des Workflows. {% data variables.product.prodname_dotcom %} zeigt die Namen der Workflows auf der Repository-Seite der Aktionen an. Wenn Du `name`weglässt, setzt {% data variables.product.prodname_dotcom %} den Pfad der Workflow-Datei relativ zum Stammverzeichnis des Repositorys.
|
||||
Name des Workflows. {% data variables.product.prodname_dotcom %} zeigt die Namen Deiner Workflows auf der Aktionen-Seite Deines Repositorys an. Wenn Du `name`weglässt, setzt {% data variables.product.prodname_dotcom %} den Pfad der Workflow-Datei relativ zum Stammverzeichnis des Repositorys.
|
||||
|
||||
### `on`
|
||||
|
||||
@@ -221,7 +223,7 @@ defaults:
|
||||
|
||||
### `jobs`
|
||||
|
||||
Ein Workflow-Lauf besteht aus mindestens einem Auftrag. Die Aufträge werden standardmäßig parallel ausgeführt. Sollen Aufträge sequenziell ausgeführt werden, können Sie mit dem Stichwort `jobs.<job_id>.needs` eine Abhängigkeit von anderen Aufträgen definieren.
|
||||
Ein Workflow-Lauf besteht aus mindestens einem Job. Die Aufträge werden standardmäßig parallel ausgeführt. Sollen Jobs sequenziell ausgeführt werden, kannst Du mit dem Schlüsselwort `jobs.<job_id>.needs` eine Abhängigkeit von anderen Jobs definieren.
|
||||
|
||||
Each job runs in a runner environment specified by `runs-on`.
|
||||
|
||||
@@ -288,6 +290,20 @@ In this example, `job3` uses the `always()` conditional expression so that it al
|
||||
|
||||
**Required**. The type of machine to run the job on. Die Maschine kann entweder ein {% data variables.product.prodname_dotcom %}-gehosteter oder ein selbst-gehosteter Runner sein.
|
||||
|
||||
{% if currentVersion == "github-ae@latest" %}
|
||||
#### {% data variables.actions.hosted_runner %}s
|
||||
|
||||
If you use an {% data variables.actions.hosted_runner %}, each job runs in a fresh instance of a virtual environment specified by `runs-on`.
|
||||
|
||||
##### Beispiel
|
||||
|
||||
```yaml
|
||||
runs-on: [AE-runner-for-CI]
|
||||
```
|
||||
|
||||
For more information, see "[About {% data variables.actions.hosted_runner %}s](/actions/using-github-hosted-runners/about-ae-hosted-runners)."
|
||||
|
||||
{% else %}
|
||||
{% data reusables.actions.enterprise-github-hosted-runners %}
|
||||
|
||||
#### {% data variables.product.prodname_dotcom %}-gehostete Runner
|
||||
@@ -298,7 +314,6 @@ Verfügbare Arten von {% data variables.product.prodname_dotcom %}-gehostete Run
|
||||
|
||||
{% data reusables.github-actions.supported-github-runners %}
|
||||
|
||||
{% data reusables.github-actions.ubuntu-runner-preview %}
|
||||
{% data reusables.github-actions.macos-runner-preview %}
|
||||
|
||||
##### Beispiel
|
||||
@@ -308,9 +323,12 @@ Runs-on: ubuntu-latest
|
||||
```
|
||||
|
||||
Weitere Informationen findest Du unter "[Virtuelle Umgebungen für {% data variables.product.prodname_dotcom %}-gehostete Runner](/github/automating-your-workflow-with-github-actions/virtual-environments-for-github-hosted-runners)."
|
||||
{% endif %}
|
||||
|
||||
#### Selbst-gehostete Runner
|
||||
|
||||
{% data reusables.actions.ae-self-hosted-runners-notice %}
|
||||
|
||||
{% data reusables.github-actions.self-hosted-runner-labels-runs-on %}
|
||||
|
||||
##### Beispiel
|
||||
@@ -321,7 +339,7 @@ runs-on: [self-hosted, linux]
|
||||
|
||||
Weitere Informationen findest Du unter „[Informationen zu selbst-gehosteten Runnern](/github/automating-your-workflow-with-github-actions/about-self-hosted-runners)“ und „[Selbst-gehostete Runner in einem Workflow verwenden](/github/automating-your-workflow-with-github-actions/using-self-hosted-runners-in-a-workflow)“.
|
||||
|
||||
{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}
|
||||
{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %}
|
||||
### `jobs.<job_id>.environment`
|
||||
|
||||
The environment that the job references. All environment protection rules must pass before a job referencing the environment is sent to a runner. For more information, see "[Environments](/actions/reference/environments)."
|
||||
@@ -590,11 +608,26 @@ jobs:
|
||||
verwendet: docker://alpine:3.8
|
||||
```
|
||||
|
||||
#### Beispiel mit einer Aktion in einer öffentlichen Docker Registry
|
||||
{% if currentVersion == "free-pro-team@latest" %}
|
||||
##### Example using the {% data variables.product.prodname_github_container_registry %}
|
||||
|
||||
`docker://{host}/{image}:{tag}`
|
||||
|
||||
Ein Docker-Image in einer öffentlichen Registry.
|
||||
A Docker image in the {% data variables.product.prodname_github_container_registry %}.
|
||||
|
||||
```yaml
|
||||
jobs:
|
||||
my_first_job:
|
||||
steps:
|
||||
- name: My first step
|
||||
uses: docker://ghcr.io/OWNER/IMAGE_NAME
|
||||
```
|
||||
{% endif %}
|
||||
##### Beispiel mit einer Aktion in einer öffentlichen Docker Registry
|
||||
|
||||
`docker://{host}/{image}:{tag}`
|
||||
|
||||
Ein Docker-Image in einer öffentlichen Registry. This example uses the Google Container Registry at `gcr.io`.
|
||||
|
||||
```yaml
|
||||
jobs:
|
||||
@@ -604,6 +637,27 @@ jobs:
|
||||
uses: docker://gcr.io/cloud-builders/gradle
|
||||
```
|
||||
|
||||
#### Example using action inside a different private repository than the workflow
|
||||
|
||||
Your workflow must checkout the private repository and reference the action locally.
|
||||
|
||||
{% raw %}
|
||||
```yaml
|
||||
jobs:
|
||||
my_first_job:
|
||||
steps:
|
||||
- name: Check out repository
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
repository: octocat/my-private-repo
|
||||
ref: v1.0
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
path: ./.github/actions/my-private-repo
|
||||
- name: Run my action
|
||||
uses: ./.github/actions/my-private-repo/my-action
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
### `jobs.<job_id>.steps[*].run`
|
||||
|
||||
Führt Befehlszeilen-Programme über die Betriebssystem-Shell aus. Wenn Du keinen `name` angibst, wird standardmäßig der im Befehl `run` angegebene Text als Name für den Schritt übernommen.
|
||||
@@ -711,7 +765,13 @@ steps:
|
||||
shell: perl {0}
|
||||
```
|
||||
|
||||
The command used, `perl` in this example, must be installed on the runner. For information about the software included on GitHub-hosted runners, see "[Specifications for GitHub-hosted runners](/actions/reference/specifications-for-github-hosted-runners#supported-software)."
|
||||
The command used, `perl` in this example, must be installed on the runner.
|
||||
|
||||
|
||||
{% if currentVersion == "github-ae@latest" %}For instructions on how to make sure your {% data variables.actions.hosted_runner %} has the required software installed, see "[Creating custom images](/actions/using-github-hosted-runners/creating-custom-images)."
|
||||
{% else %}
|
||||
For information about the software included on GitHub-hosted runners, see "[Specifications for GitHub-hosted runners](/actions/reference/specifications-for-github-hosted-runners#supported-software)."
|
||||
{% endif %}
|
||||
|
||||
#### Exit-Codes und Voreinstellung für Fehleraktionen
|
||||
|
||||
@@ -882,7 +942,9 @@ steps:
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
Unterstützte Konfigurationsoptionen für {% data variables.product.prodname_dotcom %}-gehostete Runner findest Du unter „[Virtuelle Umgebungen für {% data variables.product.prodname_dotcom %}-gehostete Runner](/actions/automating-your-workflow-with-github-actions/virtual-environments-for-github-hosted-runners)“.
|
||||
{% if currentVersion == "github-ae@latest" %}To find supported configuration options for {% data variables.actions.hosted_runner %}s, see "[Software specifications](/actions/using-github-hosted-runners/about-ae-hosted-runners#software-specifications)."
|
||||
{% else %}To find supported configuration options for {% data variables.product.prodname_dotcom %}-hosted runners, see "[Virtual environments for {% data variables.product.prodname_dotcom %}-hosted runners](/actions/automating-your-workflow-with-github-actions/virtual-environments-for-github-hosted-runners)."
|
||||
{% endif %}
|
||||
|
||||
#### Beispiel mit kombinierten zusätzlichen Werten
|
||||
|
||||
@@ -1024,7 +1086,7 @@ jobs:
|
||||
|
||||
Docker-Image, das beim Ausführen der Aktion als Container herangezogen wird. The value can be the Docker Hub image name or a {% if enterpriseServerVersions contains currentVersion and currentVersion ver_lt "enterprise-server@2.23" %}public{% endif %} registry name.
|
||||
|
||||
{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %}
|
||||
{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %}
|
||||
|
||||
### `jobs.<job_id>.container.credentials`
|
||||
|
||||
@@ -1108,7 +1170,7 @@ services:
|
||||
|
||||
Docker-Image, das beim Ausführen der Aktion als Dienstcontainer herangezogen wird. The value can be the Docker Hub image name or a {% if enterpriseServerVersions contains currentVersion and currentVersion ver_lt "enterprise-server@2.23" %}public{% endif %} registry name.
|
||||
|
||||
{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %}
|
||||
{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %}
|
||||
|
||||
### `jobs.<job_id>.services.<service_id>.credentials`
|
||||
|
||||
|
||||
@@ -0,0 +1,107 @@
|
||||
---
|
||||
title: About AE hosted runners
|
||||
intro: '{% data variables.product.prodname_ghe_managed %} offers customizable and security hardened hosted virtual machines to run {% data variables.product.prodname_actions %} workflows. You can select the hardware, bring your own machine image, and enable an IP address for networking with your {% data variables.actions.hosted_runner %}.'
|
||||
product: '{% data reusables.gated-features.actions %}'
|
||||
versions:
|
||||
github-ae: '*'
|
||||
---
|
||||
|
||||
|
||||
|
||||
|
||||
{% data reusables.actions.ae-beta %}
|
||||
|
||||
### About {% data variables.actions.hosted_runner %}s
|
||||
|
||||
An {% data variables.actions.hosted_runner %} is a virtual machine hosted by {% data variables.product.prodname_dotcom %} with the {% data variables.product.prodname_actions %} runner service installed.
|
||||
|
||||
{% data variables.product.prodname_ghe_managed %} lets you create and customize {% data variables.actions.hosted_runner %}s using Ubuntu or Windows images; you can select the size of machine you want and configure security hardened networking for them. {% data variables.actions.hosted_runner %}s are fully managed and auto-scaled by {% data variables.product.prodname_dotcom %}.
|
||||
|
||||
Each workflow job is executed in a fresh instance of the {% data variables.actions.hosted_runner %}, and you can run workflows directly on the virtual machine or in a Docker container. All steps in the job execute in the same instance, allowing the actions in that job to share information using the {% data variables.actions.hosted_runner %}'s filesystem.
|
||||
|
||||
{% note %}
|
||||
{% data variables.actions.hosted_runner %}s are the only runners available for {% data variables.product.prodname_ghe_managed %}, and self-hosted runners are not available.
|
||||
{% endnote %}
|
||||
|
||||
To add {% data variables.actions.hosted_runner %}s to your organization or enterprise, see ["Adding {% data variables.actions.hosted_runner %}s](/actions/using-github-hosted-runners/adding-ae-hosted-runners)."
|
||||
|
||||
### Pool assignments for {% data variables.actions.hosted_runner %}s
|
||||
|
||||
Your {% data variables.actions.hosted_runner %}s are allocated to the same pool as your {% data variables.product.prodname_ghe_managed %} instance. No other customers have access to this pool, and as a result, {% data variables.actions.hosted_runner %}s are not shared with any other customers.
|
||||
|
||||
### Managing your {% data variables.actions.hosted_runner %}s
|
||||
|
||||
During the {% data variables.actions.hosted_runner %} beta, you can manage your {% data variables.actions.hosted_runner %}s by contacting {% data variables.product.prodname_dotcom %} support. For example, {% data variables.product.prodname_dotcom %} support can assist you with adding a new {% data variables.actions.hosted_runner %}, assigning labels, or moving a {% data variables.actions.hosted_runner %} to a different group.
|
||||
|
||||
### Billing
|
||||
|
||||
{% data variables.product.prodname_actions %} is currently in beta for {% data variables.product.prodname_ghe_managed %}. During this beta period, {% data variables.actions.hosted_runner %}s are not billed, and can be used for free.
|
||||
|
||||
Once the beta ends, billed usage will include the full uptime of active instances in your AE hosted runner sets. This includes:
|
||||
- Job time - minutes spent running Actions job.
|
||||
- Management - minutes spent re-imaging machines and any idle time created as a result of desired auto-scale behavior.
|
||||
|
||||
Pricing will scale linearly with cores. For example, 4 cores will be twice the price of 2 cores. Windows VMs will be priced higher than Linux VMs.
|
||||
|
||||
### Hardware specifications
|
||||
|
||||
{% data variables.actions.hosted_runner %}s are available on a range of virtual machines hosted in Microsoft Azure. Depending on regional availability, you can choose from `Standard_Das_v4`, `Standard_DS_v2`, `Standard_Fs_v2 series`. Certain regions also include GPU runners based on `Standard_NCs_v3`.
|
||||
|
||||
For more information about these Azure machine resources, see "[Sizes for virtual machines in Azure](https://docs.microsoft.com/en-gb/azure/virtual-machines/sizes)" in the Microsoft Azure documentation.
|
||||
|
||||
To determine which runner executed a job, you can review the workflow logs. For more information, see "[Viewing workflow run history](/actions/managing-workflow-runs/viewing-workflow-run-history)."
|
||||
|
||||
### Software specifications
|
||||
|
||||
You can use {% data variables.actions.hosted_runner %}s with standard operating system images, or you can add images that you've created.
|
||||
|
||||
#### Default operating system images
|
||||
|
||||
These images only include the standard operating system tools:
|
||||
|
||||
- Ubuntu 18.04 LTS (Canonical)
|
||||
- Ubuntu 16.04 LTS (Canonical)
|
||||
- Windows Server 2019 (Microsoft)
|
||||
- Windows Server 2016 (Microsoft)
|
||||
|
||||
#### Custom operating system images
|
||||
|
||||
You can create your own OS images in Azure and have them added to {% data variables.product.prodname_ghe_managed %} as {% data variables.actions.hosted_runner %}s. For more information, see "[Adding an {% data variables.actions.hosted_runner %} with a custom image"](/actions/using-github-hosted-runners/adding-ae-hosted-runners#adding-an-ae-hosted-runner-with-a-custom-image).
|
||||
|
||||
### Network specifications
|
||||
|
||||
You can optionally enable a fixed static public IP address for your {% data variables.actions.hosted_runner %}s. If enabled, all {% data variables.actions.hosted_runner %}s in your instance will share a range of 2 to 4 IP addresses, and will communicate using ports on those addresses.
|
||||
|
||||
If you don't enable static public IP addresses, then your {% data variables.actions.hosted_runner %}s will subsequently have the same IP address ranges as the Azure datacenters. Inbound ICMP packets are blocked, so `ping` or `traceroute` commands are not expected to work.
|
||||
|
||||
To get a list of IP address ranges that {% data variables.product.prodname_actions %} uses for {% data variables.actions.hosted_runner %}s, you can use the {% data variables.product.prodname_dotcom %} REST API . For more information, see the `actions` key in the response of the "[Get GitHub meta information](/rest/reference/meta#get-github-meta-information)" endpoint. You can use this list of IP addresses if you require an allow-list to prevent unauthorized access to your internal resources.
|
||||
|
||||
The list of {% data variables.product.prodname_actions %} IP addresses returned by the API is updated once a week.
|
||||
|
||||
### Administrative privileges for {% data variables.actions.hosted_runner %}s
|
||||
|
||||
The Linux virtual machines run using passwordless `sudo`. Wenn Sie Befehle ausführen oder Tools installieren müssen, die höhere Berechtigungen als der aktuelle Benutzer erfordern, können Sie `sudo` verwenden, ohne ein Passwort angeben zu müssen. Weitere Informationen findest Du im „[Sudo-Handbuch](https://www.sudo.ws/man/1.8.27/sudo.man.html)“.
|
||||
|
||||
Die virtuellen Windows-Maschinen sind so konfiguriert, dass sie als Administratoren laufen, wobei die Benutzerkonten-Steuerung (UAC) deaktiviert ist. For more information, see "[How User Account Control works](https://docs.microsoft.com/windows/security/identity-protection/user-account-control/how-user-account-control-works)" in the Windows documentation.
|
||||
|
||||
### File systems
|
||||
|
||||
{% data variables.product.prodname_dotcom %} führt Aktionen und Shell-Befehle in bestimmten Verzeichnissen auf der virtuellen Maschine aus. Die Dateipfade auf virtuellen Maschinen sind nicht statisch. Verwende die von {% data variables.product.prodname_dotcom %} bereitgestellten Umgebungsvariablen zum Erstellen von Dateipfaden für die Verzeichnisse `home`, `workspace`und `workflow`.
|
||||
|
||||
| Verzeichnis | Umgebungsvariable | Beschreibung |
|
||||
| --------------------- | ------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `home` | `HOME` | Enthält benutzerbezogene Daten. In diesem Verzeichnis können sich beispielsweise die Anmeldeinformation aus einem Anmeldeversuch befinden. |
|
||||
| `workspace` | `GITHUB_WORKSPACE` | Aktionen und Shell-Befehle werden in diesem Verzeichnis ausgeführt. Eine Aktion kann den Inhalt dieses Verzeichnisses ändern, auf den dann nachfolgende Aktionen zugreifen können. |
|
||||
| `workflow/event.json` | `GITHUB_EVENT_PATH` | Die `POST`-Nutzlast des Webhook-Ereignisses, das den Workflow ausgelöst hat. {% data variables.product.prodname_dotcom %} schreibt dies bei jeder ausgeführten Aktion neu, sodass der Dateiinhalt zwischen den Aktionen isoliert wird. |
|
||||
|
||||
Eine Liste der von {% data variables.product.prodname_dotcom %} für jeden Workflow erstellten Umgebungsvariablen findest Du unter „[Umgebungsvariablen verwenden](/github/automating-your-workflow-with-github-actions/using-environment-variables)“.
|
||||
|
||||
#### Docker-Container-Dateisystem
|
||||
|
||||
Für Aktionen, die in Docker-Containern ausgeführt werden, befinden sich statische Verzeichnisse im Pfad `/github`. Wir empfehlen jedoch dringend, die Standard-Umgebungsvariablen zu verwenden, um Dateipfade in Docker-Containern zu erstellen.
|
||||
|
||||
In {% data variables.product.prodname_dotcom %} wird das Pfadpräfix `/github` reserviert, und es werden drei Verzeichnisse für Aktionen erstellt.
|
||||
|
||||
- `/github/home`
|
||||
- `/github/workspace` - {% data reusables.repositories.action-root-user-required %}
|
||||
- `/github/workflow`
|
||||
@@ -0,0 +1,135 @@
|
||||
---
|
||||
title: About GitHub-hosted runners
|
||||
intro: '{% data variables.product.prodname_dotcom %} bietet gehostete virtuelle Maschinen, um Workflows auszuführen. Die virtuelle Maschine umfasst eine Umgebung mit Tools, Paketen und Einstellungen für {% data variables.product.prodname_actions %}.'
|
||||
product: '{% data reusables.gated-features.actions %}'
|
||||
redirect_from:
|
||||
- /articles/virtual-environments-for-github-actions
|
||||
- /github/automating-your-workflow-with-github-actions/virtual-environments-for-github-actions
|
||||
- /github/automating-your-workflow-with-github-actions/virtual-environments-for-github-hosted-runners
|
||||
- /actions/automating-your-workflow-with-github-actions/virtual-environments-for-github-hosted-runners
|
||||
- /actions/reference/virtual-environments-for-github-hosted-runners
|
||||
- /actions/reference/software-installed-on-github-hosted-runners
|
||||
- /actions/reference/specifications-for-github-hosted-runners
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
enterprise-server: '>=2.22'
|
||||
---
|
||||
|
||||
{% data reusables.actions.enterprise-beta %}
|
||||
{% data reusables.actions.enterprise-github-hosted-runners %}
|
||||
|
||||
### Informationen zu {% data variables.product.prodname_dotcom %}-gehosteten Runnern
|
||||
|
||||
Ein {% data variables.product.prodname_dotcom %}-gehosteter Runner ist eine virtuelle Maschine, die von {% data variables.product.prodname_dotcom %} gehostet wird und auf der die Runner-Anwendung der {% data variables.product.prodname_actions %} installiert ist. {% data variables.product.prodname_dotcom %} bietet Runner mit den Betriebssystemen Linux, Windows und MacOS.
|
||||
|
||||
Wenn Du einen {% data variables.product.prodname_dotcom %}-gehosteten Runner verwendest, werden Wartung und Upgrade der Maschine für Dich erledigt. Sie können Workflows direkt auf der virtuellen Maschine oder in einem Docker-Container ausführen.
|
||||
|
||||
Du kannst in einem Workflow für jeden Job die Art des Runners festlegen. Jeder Job in einem Workflow wird in einer neuen Instanz der virtuellen Maschine ausgeführt. Alle Schritte des Jobs werden in derselben Instanz der virtuellen Maschine ausgeführt, sodass die Aktionen in diesem Job über das Dateisystem Informationen austauschen können.
|
||||
|
||||
{% data reusables.github-actions.runner-app-open-source %}
|
||||
|
||||
#### Cloud-Hosts für {% data variables.product.prodname_dotcom %}-gehostete Runner
|
||||
|
||||
{% data variables.product.prodname_dotcom %} betreibt Linux- und Windows-Runner auf den virtuellen Maschinen nach Standard_DS2_v2 in Microsoft Azure, auf denen die Runner-Anwendung der {% data variables.product.prodname_actions %} installiert ist. Die Runner-Anwendung auf {% data variables.product.prodname_dotcom %}-gehosteten Runnern ist eine Fork-Kopie des Azure-Pipelines-Agenten. Bei Azure werden eingehende ICMP-Pakete werden für alle virtuellen Maschinen blockiert, so dass die Befehle ping und traceroute möglicherweise nicht funktionieren. Weitere Informationen zu den Ressourcen der Standard_DS2_v2-Maschinen findest Du unter „[Serien Dv2 und DSv2](https://docs.microsoft.com/azure/virtual-machines/dv2-dsv2-series#dsv2-series)“ in der Dokumentation zu Microsoft Azure.
|
||||
|
||||
{% data variables.product.prodname_dotcom %} hosts macOS runners in {% data variables.product.prodname_dotcom %}'s own macOS Cloud.
|
||||
|
||||
#### Workflow continuity for {% data variables.product.prodname_dotcom %}-hosted runners
|
||||
|
||||
{% data reusables.github-actions.runner-workflow-continuity %}
|
||||
|
||||
In addition, if the workflow run has been successfully queued, but has not been processed by a {% data variables.product.prodname_dotcom %}-hosted runner within 45 minutes, then the queued workflow run is discarded.
|
||||
|
||||
#### Administrative Rechte von {% data variables.product.prodname_dotcom %}-gehosteten Runnern
|
||||
|
||||
Die virtuellen Maschinen unter Linux und macOS werden beide mit dem passwortlosen Befehl `sudo` ausgeführt. Wenn Sie Befehle ausführen oder Tools installieren müssen, die höhere Berechtigungen als der aktuelle Benutzer erfordern, können Sie `sudo` verwenden, ohne ein Passwort angeben zu müssen. Weitere Informationen findest Du im „[Sudo-Handbuch](https://www.sudo.ws/man/1.8.27/sudo.man.html)“.
|
||||
|
||||
Die virtuellen Windows-Maschinen sind so konfiguriert, dass sie als Administratoren laufen, wobei die Benutzerkonten-Steuerung (UAC) deaktiviert ist. For more information, see "[How User Account Control works](https://docs.microsoft.com/windows/security/identity-protection/user-account-control/how-user-account-control-works)" in the Windows documentation.
|
||||
|
||||
### Unterstützte Runner und Hardwareressourcen
|
||||
|
||||
Hardware specification for Windows and Linux virtual machines:
|
||||
- CPU mit 2 Kernen
|
||||
- 7 GB RAM-Speicher
|
||||
- 14 GB SSD-Festplattenspeicher
|
||||
|
||||
Hardware specification for macOS virtual machines:
|
||||
- CPU mit 3 Kernen
|
||||
- 14 GB RAM-Speicher
|
||||
- 14 GB SSD-Festplattenspeicher
|
||||
|
||||
{% data reusables.github-actions.supported-github-runners %}
|
||||
|
||||
{% data reusables.github-actions.macos-runner-preview %}
|
||||
|
||||
Workflow logs list the runner used to run a job. For more information, see "[Viewing workflow run history](/actions/managing-workflow-runs/viewing-workflow-run-history)."
|
||||
|
||||
### Supported software
|
||||
|
||||
The software tools included in {% data variables.product.prodname_dotcom %}-hosted runners are updated weekly. The update process takes several days, and the list of preinstalled software on the `main` branch is updated after the whole deployment ends.
|
||||
#### Preinstalled software
|
||||
|
||||
Workflow logs include a link to the preinstalled tools on the exact runner. To find this information in the workflow log, expand the `Set up job` section. Under that section, expand the `Virtual Environment` section. The link following `Included Software` will tell you the the preinstalled tools on the runner that ran the workflow.  For more information, see "[Viewing workflow run history](/actions/managing-workflow-runs/viewing-workflow-run-history)."
|
||||
|
||||
For the overall list of included tools for each runner operating system, see the links below:
|
||||
|
||||
* [Ubuntu 20.04 LTS](https://github.com/actions/virtual-environments/blob/main/images/linux/Ubuntu2004-README.md)
|
||||
* [Ubuntu 18.04 LTS](https://github.com/actions/virtual-environments/blob/main/images/linux/Ubuntu1804-README.md)
|
||||
* [Ubuntu 16.04 LTS](https://github.com/actions/virtual-environments/blob/main/images/linux/Ubuntu1604-README.md)
|
||||
* [Windows Server 2019](https://github.com/actions/virtual-environments/blob/main/images/win/Windows2019-Readme.md)
|
||||
* [Windows Server 2016](https://github.com/actions/virtual-environments/blob/main/images/win/Windows2016-Readme.md)
|
||||
* [macOS 11.0](https://github.com/actions/virtual-environments/blob/main/images/macos/macos-11.0-Readme.md)
|
||||
* [macOS 10.15](https://github.com/actions/virtual-environments/blob/main/images/macos/macos-10.15-Readme.md)
|
||||
|
||||
{% data variables.product.prodname_dotcom %}-gehostete Runner enthalten zusätzlich zu den oben aufgeführten Paketen die standardmäßig integrierten Tools des Betriebssystems. Zum Beispiel beinhalten Ubuntu und macOS Läufer `grep`, `find`, und `which` neben anderen Standard-Tools.
|
||||
|
||||
#### Using preinstalled software
|
||||
|
||||
We recommend using actions to interact with the software installed on runners. This approach has several benefits:
|
||||
- Usually, actions provide more flexible functionality like versions selection, ability to pass arguments, and parameters
|
||||
- It ensures the tool versions used in your workflow will remain the same regardless of software updates
|
||||
|
||||
Wenn Sie ein bestimmtes Tool anfordern möchten, öffnen Sie bitte einen Issue unter [actions/virtual-environments](https://github.com/actions/virtual-environments). This repository also contains announcements about all major software updates on runners.
|
||||
|
||||
### IP addresses
|
||||
|
||||
{% note %}
|
||||
|
||||
**Notiz:** Wenn Du eine Liste mit erlaubten IP-Adressen für Dein Organisations- oder Unternehmenskonto auf {% data variables.product.prodname_dotcom %} verwendest, kannst Du keine {% data variables.product.prodname_dotcom %}-gehosteten Runner verwenden, sondern benötigst stattdessen selbst-gehostete Runner. Weitere Informationen findest Du unter „[Informationen zu selbst-gehosteten Runnern](/actions/hosting-your-own-runners/about-self-hosted-runners)“.
|
||||
|
||||
{% endnote %}
|
||||
|
||||
Windows and Ubuntu runners are hosted in Azure and subsequently have the same IP address ranges as the Azure datacenters. macOS runners are hosted in {% data variables.product.prodname_dotcom %}'s own macOS cloud.
|
||||
|
||||
To get a list of IP address ranges that {% data variables.product.prodname_actions %} uses for {% data variables.product.prodname_dotcom %}-hosted runners, you can use the {% data variables.product.prodname_dotcom %} REST API . For more information, see the `actions` key in the response of the "[Get GitHub meta information](/rest/reference/meta#get-github-meta-information)" endpoint. You can use this list of IP addresses if you require an allow-list to prevent unauthorized access to your internal resources.
|
||||
|
||||
The list of {% data variables.product.prodname_actions %} IP addresses returned by the API is updated once a week.
|
||||
|
||||
### File systems
|
||||
|
||||
{% data variables.product.prodname_dotcom %} führt Aktionen und Shell-Befehle in bestimmten Verzeichnissen auf der virtuellen Maschine aus. Die Dateipfade auf virtuellen Maschinen sind nicht statisch. Verwende die von {% data variables.product.prodname_dotcom %} bereitgestellten Umgebungsvariablen zum Erstellen von Dateipfaden für die Verzeichnisse `home`, `workspace`und `workflow`.
|
||||
|
||||
| Verzeichnis | Umgebungsvariable | Beschreibung |
|
||||
| --------------------- | ------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `home` | `HOME` | Enthält benutzerbezogene Daten. In diesem Verzeichnis können sich beispielsweise die Anmeldeinformation aus einem Anmeldeversuch befinden. |
|
||||
| `workspace` | `GITHUB_WORKSPACE` | Aktionen und Shell-Befehle werden in diesem Verzeichnis ausgeführt. Eine Aktion kann den Inhalt dieses Verzeichnisses ändern, auf den dann nachfolgende Aktionen zugreifen können. |
|
||||
| `workflow/event.json` | `GITHUB_EVENT_PATH` | Die `POST`-Nutzlast des Webhook-Ereignisses, das den Workflow ausgelöst hat. {% data variables.product.prodname_dotcom %} schreibt dies bei jeder ausgeführten Aktion neu, sodass der Dateiinhalt zwischen den Aktionen isoliert wird. |
|
||||
|
||||
Eine Liste der von {% data variables.product.prodname_dotcom %} für jeden Workflow erstellten Umgebungsvariablen findest Du unter „[Umgebungsvariablen verwenden](/github/automating-your-workflow-with-github-actions/using-environment-variables)“.
|
||||
|
||||
#### Docker-Container-Dateisystem
|
||||
|
||||
Für Aktionen, die in Docker-Containern ausgeführt werden, befinden sich statische Verzeichnisse im Pfad `/github`. Wir empfehlen jedoch dringend, die Standard-Umgebungsvariablen zu verwenden, um Dateipfade in Docker-Containern zu erstellen.
|
||||
|
||||
In {% data variables.product.prodname_dotcom %} wird das Pfadpräfix `/github` reserviert, und es werden drei Verzeichnisse für Aktionen erstellt.
|
||||
|
||||
- `/github/home`
|
||||
- `/github/workspace` - {% data reusables.repositories.action-root-user-required %}
|
||||
- `/github/workflow`
|
||||
|
||||
{% if currentVersion == "free-pro-team@latest" %}
|
||||
|
||||
### Weiterführende Informationen
|
||||
- „[Abrechnung für {{ site.data.variables.product.prodname_actions }} verwalten](/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)“
|
||||
|
||||
{% endif %}
|
||||
@@ -0,0 +1,44 @@
|
||||
---
|
||||
title: Adding AE hosted runners
|
||||
intro: 'You can add an {% data variables.actions.hosted_runner %} to an organization or an enterprise.'
|
||||
versions:
|
||||
github-ae: '*'
|
||||
---
|
||||
|
||||
{% data reusables.actions.ae-beta %}
|
||||
|
||||
{% note %}
|
||||
|
||||
**Note:** To add {% data variables.actions.hosted_runner %}s to {% data variables.product.prodname_ghe_managed %}, you will need to contact {% data variables.product.prodname_dotcom %} support. This article describes the information that support will need in order to complete this process.
|
||||
|
||||
{% endnote %}
|
||||
|
||||
{% data variables.actions.hosted_runner %}s can use the base Azure operating system images, or you can create your own custom images.
|
||||
|
||||
### Adding an {% data variables.actions.hosted_runner %} from the base Azure image
|
||||
|
||||
You can add {% data variables.actions.hosted_runner %}s that use the base Azure operating system images. To add {% data variables.actions.hosted_runner %}s to your organization or enterprise, contact {% data variables.product.prodname_dotcom %} support and have the following information ready:
|
||||
- Required operating system: Available options are listed at ["Software specifications](/actions/using-github-hosted-runners/about-ae-hosted-runners#software-specifications)."
|
||||
- Choose a name for each pool of {% data variables.actions.hosted_runner %}s. These names are created as labels, allowing you to route your workflows to these runners. For more information, see ["Using {% data variables.actions.hosted_runner %}s in a workflow](/actions/using-github-hosted-runners/using-ae-hosted-runners-in-a-workflow)."
|
||||
- Where to add the {% data variables.actions.hosted_runner %}: Identify the names of the organizations and enterprises that will receive the runners.
|
||||
|
||||
### Adding an {% data variables.actions.hosted_runner %} with a custom image
|
||||
|
||||
To create a custom operating system image, see the steps at ["Creating custom images"](/actions/using-github-hosted-runners/creating-custom-images).
|
||||
|
||||
Once you've created a custom image using the above steps, contact {% data variables.product.prodname_dotcom %} support and provide the following details:
|
||||
|
||||
- The SAS URI you generated when following the custom image creation steps.
|
||||
- Type of operating system used by the image: This can be Linux or Windows.
|
||||
- Image name.
|
||||
- Version.
|
||||
- VM SKU for the new pool.
|
||||
- Choose a name for each pool of {% data variables.actions.hosted_runner %}s. These names are created as labels, allowing you to route your workflows to these runners. For more information, see ["Using {% data variables.actions.hosted_runner %}s in a workflow](/actions/using-github-hosted-runners/using-ae-hosted-runners-in-a-workflow)."
|
||||
- Where to add the {% data variables.actions.hosted_runner %}: Identify the names of the organizations and enterprises that will receive the runners.
|
||||
|
||||
### Reviewing your {% data variables.actions.hosted_runner %}s
|
||||
|
||||
Once your runners have been added by {% data variables.product.prodname_dotcom %} support, you'll be able to find them in your list of runners:
|
||||
|
||||
{% data reusables.github-actions.hosted-runner-navigate-to-repo-org-enterprise %}
|
||||
{% data reusables.github-actions.hosted-runner-list %}
|
||||
@@ -0,0 +1,52 @@
|
||||
---
|
||||
title: Creating custom images
|
||||
intro: 'You can create custom images for {% data variables.actions.hosted_runner %}s.'
|
||||
versions:
|
||||
github-ae: '*'
|
||||
---
|
||||
|
||||
{% data reusables.actions.ae-beta %}
|
||||
|
||||
### Creating an {% data variables.actions.hosted_runner %} with a custom image
|
||||
|
||||
{% data variables.actions.hosted_runner %}s can use operating system images that you've customized to suit your needs. This article includes the high level steps for creating the image in Azure and preparing it for {% data variables.product.prodname_ghe_managed %}. For more information, refer to [the Azure documentation](https://docs.microsoft.com/en-us/azure/virtual-machines/).
|
||||
|
||||
During this beta, to be able to create a custom image for {% data variables.actions.hosted_runner %}s, you will need an Azure subscription that is able to provision a virtual machine.
|
||||
|
||||
|
||||
1. Provision a new VM in your tenant using a marketplace image or a virtual hard drive(VHD).
|
||||
2. Optionally, install your required software on the VM.
|
||||
3. Deprovision the VM:
|
||||
- For Linux: `ssh` to the VM and run:
|
||||
```sh
|
||||
$ sudo waagent -deprovision+user
|
||||
```
|
||||
- For Windows: Follow the steps described at ["Generalize the source VM by using Sysprep](https://docs.microsoft.com/en-us/azure/virtual-machines/windows/upload-generalized-managed#generalize-the-source-vm-by-using-sysprep)."
|
||||
|
||||
4. Use the Azure CLI to deallocate and generalize the VM:
|
||||
```powershell
|
||||
$resourceGroupName = "octocat-testgroup"
|
||||
$vmName = "octo-vm"
|
||||
|
||||
Stop-AzVM -ResourceGroupName $resourceGroupName -Name $vmName
|
||||
Set-AzVM -ResourceGroupName $resourceGroupName -Name $vmName -Generalized
|
||||
```
|
||||
- Replace `octo-vm` with the name of your virtual machine.
|
||||
- For more information regarding these steps, see "[How to create a managed image of a virtual machine or VHD](https://docs.microsoft.com/en-us/azure/virtual-machines/linux/capture-image#step-1-deprovision-the-vm)."
|
||||
5. Generate a SAS URI for the VM's operating system disk.
|
||||
- Using the Azure Portal: On the disk resource, navigate to **Disk Export**, set `URL expires in (seconds)` to `86400` (24 hours), and generate the URL.
|
||||
- Using the Azure CLI:
|
||||
```powershell
|
||||
$resourceGroupName = "octocat-testgroup"
|
||||
$vmName = "octo-vm"
|
||||
|
||||
$vm = Get-AzVM -ResourceGroupName $resourceGroupName -Name $vmName
|
||||
Grant-AzDiskAccess `
|
||||
-ResourceGroupName $resourceGroupName `
|
||||
-DiskName $vm.StorageProfile.OsDisk.Name `
|
||||
-Access Read `
|
||||
-DurationInSecond 86400
|
||||
```
|
||||
- Replace `octo-vm` with the name of your virtual machine.
|
||||
|
||||
Once you've created the image, you can have it added to {% data variables.product.prodname_ghe_managed %}. For more information, see ["Adding an {% data variables.actions.hosted_runner %} with a custom image"](/actions/using-github-hosted-runners/adding-ae-hosted-runners#adding-an-ae-hosted-runner-with-a-custom-image).
|
||||
@@ -0,0 +1,19 @@
|
||||
---
|
||||
title: Using GitHub-hosted runners
|
||||
intro: You can use GitHub's runners to execute your GitHub Actions workflows.
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
enterprise-server: '>=2.22'
|
||||
github-ae: '*'
|
||||
---
|
||||
|
||||
{% data reusables.actions.enterprise-beta %}
|
||||
{% data reusables.actions.enterprise-github-hosted-runners %}
|
||||
|
||||
{% link_in_list /about-github-hosted-runners %}
|
||||
{% link_in_list /about-ae-hosted-runners %}
|
||||
{% link_in_list /adding-ae-hosted-runners %}
|
||||
{% link_in_list /using-ae-hosted-runners-in-a-workflow %}
|
||||
{% link_in_list /using-labels-with-ae-hosted-runners %}
|
||||
{% link_in_list /using-groups-to-manage-access-to-ae-hosted-runners %}
|
||||
{% link_in_list /creating-custom-images %}
|
||||
@@ -0,0 +1,38 @@
|
||||
---
|
||||
title: Using AE hosted runners in a workflow
|
||||
intro: 'You can use labels to send jobs to a pool of {% data variables.actions.hosted_runner %}s.'
|
||||
versions:
|
||||
github-ae: '*'
|
||||
---
|
||||
|
||||
{% data reusables.actions.ae-beta %}
|
||||
|
||||
### Using {% data variables.actions.hosted_runner %}s in a workflow
|
||||
|
||||
Labels allow you to send workflow jobs to any {% data variables.actions.hosted_runner %} that includes that label. You can use the default labels, and you can create your own custom labels.
|
||||
|
||||
### Standard-Labels verwenden, um Jobs zu lenken
|
||||
|
||||
An {% data variables.actions.hosted_runner %} receives a label when it is added to {% data variables.product.prodname_actions %}. The label is used to indicate where it was assigned.
|
||||
|
||||
You can use your workflow's YAML to send jobs to a specific {% data variables.actions.hosted_runner %} pool. This example demonstrates how to configure a workflow to run on a label called `AE-runner-for-CI`:
|
||||
|
||||
```yaml
|
||||
runs-on: [AE-runner-for-CI]
|
||||
```
|
||||
|
||||
Weitere Informationen findest Du unter „[Workflow Syntax für {% data variables.product.prodname_actions %}](/github/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idruns-on)."
|
||||
|
||||
### Benutzerdefinierte Labels verwenden, um Jobs zu lenken
|
||||
|
||||
You can create custom labels and assign them to your {% data variables.actions.hosted_runner %}s at any time. Custom labels let you send jobs to particular types of runners, based on how they're labeled.
|
||||
|
||||
For example, if you have a job that requires a specific software package, you can create a custom label called `octocat` and assign it to the runners that have the package installed. An {% data variables.actions.hosted_runner %} that matches all the assigned labels will then be eligible to run the job.
|
||||
|
||||
This example shows a job that uses multiple labels:
|
||||
|
||||
```yaml
|
||||
runs-on: [AE-runner-for-CI, octocat, linux]
|
||||
```
|
||||
|
||||
These labels operate cumulatively, so an {% data variables.actions.hosted_runner %}'s labels must match all of them for it to be eligible to process the job.
|
||||
@@ -0,0 +1,85 @@
|
||||
---
|
||||
title: Using groups to manage access to AE hosted runners
|
||||
intro: You can use policies to limit access to {% data variables.actions.hosted_runner %}s that have been added to an organization or enterprise.
|
||||
versions:
|
||||
github-ae: '*'
|
||||
---
|
||||
|
||||
{% data reusables.actions.ae-beta %}
|
||||
|
||||
### About {% data variables.actions.hosted_runner %} groups
|
||||
|
||||
{% data variables.actions.hosted_runner %} groups are used to control access to {% data variables.actions.hosted_runner %}s at the organization and enterprise level. Enterprise admins can configure access policies that control which organizations in an enterprise have access to the runner group. Organization admins can configure access policies that control which repositories in an organization have access to the runner group.
|
||||
|
||||
When an enterprise admin grants an organization access to a runner group, organization admins can see the runner group listed in the organization's {% data variables.actions.hosted_runner %} settings. The organizations admins can then assign additional granular repository access policies to the enterprise runner group.
|
||||
|
||||
When new runners are created, they are automatically assigned to the default group. Runners can only be in one group at a time. You can move runners from the default group to another group. For more information, see "[Moving an {% data variables.actions.hosted_runner %} to a group](#moving-an-ae-hosted-runner-to-a-group)."
|
||||
|
||||
### Creating an {% data variables.actions.hosted_runner %} group for an organization
|
||||
|
||||
All organizations have a single default {% data variables.actions.hosted_runner %} group. Organizations within an enterprise account can create additional runner groups. Organization admins can allow individual repositories access to a runner group.
|
||||
|
||||
{% data variables.actions.hosted_runner %}s are automatically assigned to the default group when created, and can only be members of one group at a time. You can move a runner from the default group to any group you create.
|
||||
|
||||
When creating a group, you must choose a policy that defines which repositories have access to the runner group.
|
||||
|
||||
{% data reusables.organizations.navigate-to-org %}
|
||||
{% data reusables.organizations.org_settings %}
|
||||
{% data reusables.organizations.settings-sidebar-actions %}
|
||||
1. In the **Self-hosted runners** section, click **Add new**, and then **New group**.
|
||||
|
||||

|
||||
|
||||
1. Enter a name for your runner group, and assign a policy for repository access.
|
||||
|
||||
You can configure a runner group to be accessible to a specific list of repositories, or to all repositories in the organization. By default, only private repositories can access runners in a runner group, but you can override this. 
|
||||
|
||||
1. Click **Save group** to create the group and apply the policy.
|
||||
|
||||
### Creating an {% data variables.actions.hosted_runner %} group for an enterprise
|
||||
|
||||
Enterprises can add their {% data variables.actions.hosted_runner %}s to groups for access management. Enterprises can create groups of {% data variables.actions.hosted_runner %}s that are accessible to specific organizations in the enterprise account. Organization admins can then assign additional granular repository access policies to the enterprise runner groups.
|
||||
|
||||
{% data variables.actions.hosted_runner %}s are automatically assigned to the default group when created, and can only be members of one group at a time. You can assign the runner to a specific group during the registration process, or you can later move the runner from the default group to a custom group.
|
||||
|
||||
When creating a group, you must choose a policy that defines which organizations have access to the runner group.
|
||||
|
||||
{% data reusables.enterprise-accounts.access-enterprise %}
|
||||
{% data reusables.enterprise-accounts.policies-tab %}
|
||||
{% data reusables.enterprise-accounts.actions-tab %}
|
||||
1. Click the **Self-hosted runners** tab.
|
||||
1. Click **Add new**, and then **New group**.
|
||||
|
||||

|
||||
|
||||
1. Enter a name for your runner group, and assign a policy for organization access.
|
||||
|
||||
You can configure a runner group to be accessible to a specific list of organizations, or all organizations in the enterprise. By default, only private repositories can access runners in a runner group, but you can override this. 
|
||||
|
||||
1. Click **Save group** to create the group and apply the policy.
|
||||
|
||||
### Changing the access policy of an {% data variables.actions.hosted_runner %} group
|
||||
|
||||
You can update the access policy of a runner group, or rename a runner group.
|
||||
|
||||
{% data reusables.github-actions.hosted-runner-configure-runner-group-access %}
|
||||
|
||||
### Moving an {% data variables.actions.hosted_runner %} to a group
|
||||
|
||||
New {% data variables.actions.hosted_runner %}s are automatically assigned to the default group, and can then be moved to another group.
|
||||
|
||||
1. In the **Self-hosted runners** section of the settings page, locate the current group of the runner you want to move and expand the list of group members. 
|
||||
1. Select the checkbox next to the runner, and then click **Move to group** to see the available destinations. 
|
||||
1. To move the runner, click on the destination group. 
|
||||
|
||||
### Removing an {% data variables.actions.hosted_runner %} group
|
||||
|
||||
{% data variables.actions.hosted_runner %}s are automatically returned to the default group when their group is removed.
|
||||
|
||||
1. In the **Self-hosted runners** section of the settings page, locate the group you want to delete, and click the {% octicon "kebab-horizontal" aria-label="The horizontal kebab icon" %} button. 
|
||||
|
||||
1. To remove the group, click **Remove group**.
|
||||
|
||||

|
||||
|
||||
1. Review the confirmation prompts, and click **Remove this runner group**.
|
||||
@@ -0,0 +1,25 @@
|
||||
---
|
||||
title: Using labels with AE hosted runners
|
||||
intro: You can use labels to organize your {% data variables.actions.hosted_runner %}s based on their characteristics.
|
||||
versions:
|
||||
github-ae: '*'
|
||||
---
|
||||
|
||||
{% data reusables.actions.ae-beta %}
|
||||
|
||||
For information on how to use labels to route jobs to specific types of {% data variables.actions.hosted_runner %}s, see "[Using {% data variables.actions.hosted_runner %}s in a workflow](/actions/using-github-hosted-runners/using-ae-hosted-runners-in-a-workflow)."
|
||||
|
||||
|
||||
{% note %}
|
||||
|
||||
**Note:** To manage labels for your {% data variables.actions.hosted_runner %}s, you will need to contact {% data variables.product.prodname_dotcom %} support.
|
||||
|
||||
{% endnote %}
|
||||
|
||||
### Viewing the labels for your {% data variables.actions.hosted_runner %}s
|
||||
{% data reusables.github-actions.hosted-runner-navigate-to-repo-org-enterprise %}
|
||||
{% data reusables.github-actions.hosted-runner-list %}
|
||||
{% data reusables.github-actions.hosted-runner-list-group %}
|
||||
1. Locate the runner you want to check, and click {% octicon "triangle-down" aria-label="The downward triangle" %} to view the label selection menu. Labels already assigned to your runner have a {% octicon "check" aria-label="Check mark" %} next to them.
|
||||
|
||||

|
||||
@@ -13,7 +13,7 @@ versions:
|
||||
|
||||
{% data reusables.saml.ae-uses-saml-sso %} {% data reusables.saml.ae-enable-saml-sso-during-bootstrapping %}
|
||||
|
||||
After you configure the application for {% data variables.product.product_name %} on your IdP, you can grant access to {% data variables.product.product_location %} by assigning the application to users on your IdP. For more information about SAML SSO for {% data variables.product.product_name %}, see "[Configuring SAML single sign-on for your enterprise](/admin/authentication/configuring-saml-single-sign-on-for-your-enterprise)."
|
||||
After you configure the application for {% data variables.product.product_name %} on your IdP, you can grant access to {% data variables.product.product_location %} by assigning the application to users and groups on your IdP. For more information about SAML SSO for {% data variables.product.product_name %}, see "[Configuring SAML single sign-on for your enterprise](/admin/authentication/configuring-saml-single-sign-on-for-your-enterprise)."
|
||||
|
||||
{% data reusables.scim.after-you-configure-saml %} For more information, see "[Configuring user provisioning for your enterprise](/admin/authentication/configuring-user-provisioning-for-your-enterprise)."
|
||||
|
||||
@@ -25,3 +25,4 @@ To learn how to configure both authentication and user provisioning for {% data
|
||||
|
||||
- [SAML Wiki](https://wiki.oasis-open.org/security) on the OASIS website
|
||||
- [System for Cross-domain Identity Management: Protocol (RFC 7644)](https://tools.ietf.org/html/rfc7644) on the IETF website
|
||||
- [Restricting network traffic to your enterprise](/admin/configuration/restricting-network-traffic-to-your-enterprise)
|
||||
|
||||
@@ -6,6 +6,8 @@ redirect_from:
|
||||
- /enterprise/admin/authentication/allowing-built-in-authentication-for-users-outside-your-identity-provider
|
||||
versions:
|
||||
enterprise-server: '*'
|
||||
topics:
|
||||
- Unternehmen
|
||||
---
|
||||
|
||||
### Informationen zur integrierten Authentifizierung für Benutzer außerhalb Ihres Identity Providers
|
||||
|
||||
@@ -11,5 +11,7 @@ redirect_from:
|
||||
mapTopic: true
|
||||
versions:
|
||||
enterprise-server: '*'
|
||||
topics:
|
||||
- Unternehmen
|
||||
---
|
||||
|
||||
|
||||
@@ -6,6 +6,8 @@ redirect_from:
|
||||
- /enterprise/admin/authentication/changing-authentication-methods
|
||||
versions:
|
||||
enterprise-server: '*'
|
||||
topics:
|
||||
- Unternehmen
|
||||
---
|
||||
|
||||
Wenn Sie die Authentifizierungsmethode ändern, werden die Benutzerkonten auf {% data variables.product.product_location %} beibehalten, und Benutzer melden sich weiterhin beim selben Konto an, sofern ihr Benutzername nicht geändert wird.
|
||||
|
||||
@@ -12,9 +12,16 @@ versions:
|
||||
|
||||
Azure Active Directory (Azure AD) is a service from Microsoft that allows you to centrally manage user accounts and access to web applications. For more information, see [What is Azure Active Directory?](https://docs.microsoft.com/azure/active-directory/fundamentals/active-directory-whatis) in the Microsoft Docs.
|
||||
|
||||
To manage identity and access for {% data variables.product.product_name %}, you can use an Azure AD tenant as a SAML IdP for authentication. You can also configure Azure AD to automatically provision accounts and access with SCIM. This configuration allows you to assign or unassign the {% data variables.product.prodname_ghe_managed %} application for a user account in your Azure AD tenant to automatically create, grant access to, or deactivate a corresponding user account on {% data variables.product.product_name %}.
|
||||
To manage identity and access for {% data variables.product.product_name %}, you can use an Azure AD tenant as a SAML IdP for authentication. You can also configure Azure AD to automatically provision accounts and access membership with SCIM, which allows you to create {% data variables.product.prodname_ghe_managed %} users and manage team and organization membership from your Azure AD tenant.
|
||||
|
||||
For more information about managing identity and access for your enterprise on {% data variables.product.product_location %}, see "[Managing identity and access for your enterprise](/admin/authentication/managing-identity-and-access-for-your-enterprise)."
|
||||
After you enable SAML SSO and SCIM for {% data variables.product.prodname_ghe_managed %} using Azure AD, you can accomplish the following from your Azure AD tenant.
|
||||
|
||||
* Assign the {% data variables.product.prodname_ghe_managed %} application on Azure AD to a user account to automatically create and grant access to a corresponding user account on {% data variables.product.product_name %}.
|
||||
* Unassign the {% data variables.product.prodname_ghe_managed %} application to a user account on Azure AD to deactivate the corresponding user account on {% data variables.product.product_name %}.
|
||||
* Assign the {% data variables.product.prodname_ghe_managed %} application to an IdP group on Azure AD to automatically create and grant access to user accounts on {% data variables.product.product_name %} for all members of the IdP group. In addition, the IdP group is available on {% data variables.product.prodname_ghe_managed %} for connection to a team and its parent organization.
|
||||
* Unassign the {% data variables.product.prodname_ghe_managed %} application from an IdP group to deactivate the {% data variables.product.product_name %} user accounts of all IdP users who had access only through that IdP group and remove the users from the parent organization. The IdP group will be disconnected from any teams on {% data variables.product.product_name %}.
|
||||
|
||||
For more information about managing identity and access for your enterprise on {% data variables.product.product_location %}, see "[Managing identity and access for your enterprise](/admin/authentication/managing-identity-and-access-for-your-enterprise)." For more information about synchronizing teams with IdP groups, see "[Synchronizing a team with an identity provider group](/github/setting-up-and-managing-organizations-and-teams/synchronizing-a-team-with-an-identity-provider-group)."
|
||||
|
||||
### Vorrausetzungen
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user