Diese Aktion vereinfacht den GitHub-Veröffentlichungsprozess durch automatisches Hochladen von Assets, Generieren von Änderungsprotokollen, Bearbeiten von Vorabversionen usw.
HINWEIS : Das Repository
marvinpinto/action-automatic-releases
ist ein automatisch generierter Spiegel des Monorepo marvinpinto/actions, das diese und andere Aktionen enthält. Bitte reichen Sie dort Probleme und Pull-Anfragen ein.
Dieser Beispielworkflow wird aktiviert, sobald Änderungen auf master
eingehen. Nachdem Sie die Schritte zum Erstellen und Testen Ihres Projekts ausgeführt haben:
latest
erstellt (oder ersetzt).latest
Tag.latest
Tag zugeordnet ist (und entfernen Sie dabei alle vorherigen zugehörigen Versionen).Development Build
).LICENSE.txt
und alle jar
-Dateien als Release-Assets hoch.pre-release
.Ein funktionierendes Beispiel dieses Workflows finden Sie unter marvinpinto/actions.
---
name : " pre-release "
on :
push :
branches :
- " master "
jobs :
pre-release :
name : " Pre Release "
runs-on : " ubuntu-latest "
steps :
# ...
- name : " Build & test "
run : |
echo "done!"
- uses : " marvinpinto/action-automatic-releases@latest "
with :
repo_token : " ${{ secrets.GITHUB_TOKEN }} "
automatic_release_tag : " latest "
prerelease : true
title : " Development Build "
files : |
LICENSE.txt
*.jar
Ähnlich wie im vorherigen Beispiel wird dieser Workflow aktiviert, sobald neue Tags an GitHub übertragen werden. Nachdem Sie Ihr Projekt erstellt und getestet haben:
LICENSE.txt
und alle jar
-Dateien als Release-Assets hoch.Wieder einmal gibt es ein Beispiel dafür unter marvinpinto/actions.
---
name : " tagged-release "
on :
push :
tags :
- " v* "
jobs :
tagged-release :
name : " Tagged Release "
runs-on : " ubuntu-latest "
steps :
# ...
- name : " Build & test "
run : |
echo "done!"
- uses : " marvinpinto/action-automatic-releases@latest "
with :
repo_token : " ${{ secrets.GITHUB_TOKEN }} "
prerelease : false
files : |
LICENSE.txt
*.jar
Parameter | Beschreibung | Standard |
---|---|---|
repo_token ** | GitHub-Aktionstoken, z. B. "${{ secrets.GITHUB_TOKEN }}" . | null |
draft | Diese Veröffentlichung als Entwurf markieren? | false |
prerelease | Diese Veröffentlichung als Vorabveröffentlichung markieren? | true |
automatic_release_tag | Tag-Name, der für automatische Veröffentlichungen verwendet werden soll, z. B. latest . | null |
title | Titel der Veröffentlichung; Standardmäßig wird der Tag-Name verwendet, wenn keiner angegeben ist. | Tag-Name |
files | Dateien, die als Teil der Release-Assets hochgeladen werden sollen. | null |
Auf die folgenden Ausgabewerte kann über ${{ steps.
zugegriffen werden:
Name | Beschreibung | Typ |
---|---|---|
automatic_releases_tag | Das Release-Tag, das diese Aktion gerade verarbeitet hat | Zeichenfolge |
upload_url | Die URL zum Hochladen zusätzlicher Assets zur Veröffentlichung | Zeichenfolge |
**
gekennzeichnete Parameter sind erforderlich.files
unterstützt mehrzeilige Glob-Muster, siehe Repository-Beispiele. Mit dem GitHub Actions-Framework können Sie diese (und andere) Aktionen bei vielen Ereigniskombinationen auslösen. Sie könnten beispielsweise spezifische Vorabversionen für Release-Kandidaten-Tags erstellen (z. B. *-rc*
), Releases generieren, wenn Änderungen auf dem Master landen (Beispiel oben), nächtliche Releases und vieles mehr. Lesen Sie die Workflow-Syntax für GitHub-Aktionen, um Ideen und erweiterte Beispiele zu erhalten.
Jeder Commit, der für dieses Projekt auf Master landet, löst einen automatischen Build sowie eine getaggte Veröffentlichung mit dem Namen latest
aus. Wenn Sie nicht auf dem neuesten Stand bleiben möchten, können Sie stattdessen eine stabile Version verwenden. Die verfügbaren Versionen finden Sie in den Veröffentlichungen.
- uses : " marvinpinto/action-automatic-releases@ "
Die Haupt-README-Datei für dieses Projekt enthält eine Reihe von Informationen zum Debuggen und Einreichen von Problemen. Wenn Sie immer noch nicht weiterkommen, versuchen Sie, mich über keybase zu erreichen, und ich werde mein Bestes tun, um Ihnen zu helfen.
Der Quellcode für dieses Projekt wird unter der MIT-Lizenz veröffentlicht. Dieses Projekt ist nicht mit GitHub verbunden.