Diese Aktion ist veraltet. Es gibt jetzt „native“ Unterstützung für die Veröffentlichung auf GitHub-Seiten mithilfe einer offiziellen GitHub-Aktion von GitHub. Es ist viel besser als dieser Ansatz.
Mit dieser Aktion können Sie einfach beliebige Ordner mit statischen Inhalten aus dem Arbeitsverzeichnis Ihres Workflows ( /github/workspace
) auf GitHub-Seiten bereitstellen. Dies funktioniert, indem Ihr Aktionsinstanz-Git Ihren ausgewählten Asset-Ordner ( BUILD_DIR
) in den gh-pages
-Zweig Ihres GitHub-Repositorys git push
, damit der gh-pages
-Zweig bereitgestellt wird. Wenn Sie diese Aktion innerhalb einer Organisation oder eines Benutzer-Repositorys (mit dem Namen username/username.github.io
) ausführen, wird sie stattdessen im master
bereitgestellt.
Denken Sie daran, dass Sie möglicherweise auch Ihre Repository-Einstellungen anpassen müssen.
Da diese Aktion in separaten „Deploy-only“-Zweigen bereitgestellt wird, können Sie sie nicht verwenden, wenn Sie die Bereitstellung aus einem Repo-Unterverzeichnis wie docs/
durchführen möchten. In diesen Fällen benötigen Sie wirklich keine GitHub-Aktion, da Sie die Build-Artefakte selbst festschreiben würden. Einzelheiten finden Sie in der GitHub Pages-Dokumentation.
Es gibt bereits großartige GitHub-Aktionen, um statische Site-Generatoren zu verwenden und diese dann auf GitHub-Seiten bereitzustellen (für Jekyll, Jekyll, Zola und sicherlich viele weitere, die noch folgen werden). Diese Aktion ist das nicht, obwohl ich einen Großteil der Git-Aktion aus diesen Werken übernommen habe.
Durch diese Aktion wird nichts erstellt, sondern nur bereitgestellt.
Keiner.
Keiner.
Die Bereitstellung auf GitHub-Seiten erfolgt durch git push
in den Zweig gh-pages
(oder master
). Um dies zu autorisieren, benötigt die GitHub-Aktion ein Geheimnis. Etwas verwirrend ist derzeit, dass das für jedes Repo verfügbare GITHUB_TOKEN
zwar ausreicht, um es an gh-pages
zu pushen, aber nicht ausreicht, um eine Seitenerstellung auf GitHub auszulösen oder den Inhalt gar an das GitHub-Content-Delivery-Netzwerk weiterzugeben.
Sie müssen daher ein benutzerdefiniertes Personal Access Token (PAT) erstellen, ähnlich wie Sie es für externe Dienste (z. B. Travis) tun würden. Dieses Token muss mit repo
Berechtigungen erstellt werden, um es auf Github-Seiten bereitzustellen. Anschließend müssen Sie dieses Token als Geheimnis unter dem Namen GH_PAT
(Repository-Einstellungen/Geheimnisse) in die GitHub-Benutzeroberfläche einfügen und es in der Aktion wie unten beschrieben aufrufen.
Ich habe GitHub gebeten, diesen Prozess zu optimieren. Die Diskussion ist hier dokumentiert.
Nur BUILD_DIR
, das Build-Verzeichnis relativ zu Ihrem Repository-Stammverzeichnis. Sie können auch bestehen .
wenn Sie Ihr Repository-Root pushen möchten.
name : Deployment
" on " :
- push
- pull_request
jobs :
deploy_ghpages :
runs-on : ubuntu-18.04
steps :
- uses : actions/checkout@v1
- run : echo $GITHUB_SHA >> public/index.html
- uses : maxheld83/[email protected]
env :
BUILD_DIR : public/
GH_PAT : ${{ secrets.GH_PAT }}