Cette action est obsolète. Il existe désormais un support « natif » pour la publication sur les pages GitHub à l'aide d'une action GitHub officielle de GitHub. C'est bien mieux que cette approche.
Cette action vous permet simplement de déployer des dossiers arbitraires de contenu statique depuis le répertoire de travail de votre workflow ( /github/workspace
) vers les pages GitHub. Cela fonctionne en demandant à votre instance d'action git push
le dossier d'actifs choisi ( BUILD_DIR
) vers la branche gh-pages
de votre référentiel GitHub pour que la branche gh-pages
soit servie. Si vous exécutez cette action dans une organisation ou un référentiel d'utilisateurs (nommé username/username.github.io
), elle sera déployée sur la branche master
à la place.
N'oubliez pas que vous devrez peut-être également ajuster les paramètres de votre référentiel.
Étant donné que cette action se déploie sur des branches distinctes « de déploiement uniquement », vous ne pouvez pas l'utiliser si vous souhaitez déployer à partir d'un sous-répertoire de dépôt tel que docs/
. Dans ces cas, vous n'avez vraiment pas besoin d'une action GitHub, car vous valideriez vous-même les artefacts de construction. Pour plus de détails, consultez la documentation des pages GitHub.
Il existe déjà d'excellentes actions GitHub pour utiliser des générateurs de sites statiques puis déployer sur les pages GitHub (pour jekyll, jekyll, zola et sûrement bien d'autres à venir). Cette action n'est pas cela, même si j'ai emprunté une grande partie de l'action git à ces travaux.
Cette action ne construira rien, elle se contentera de déployer.
Aucun.
Aucun.
Le déploiement sur les pages GitHub s'effectue en git push
vers la branche gh-pages
(ou master
). Pour autoriser cela, l'action GitHub a besoin d'un secret. Pour l'instant, ce qui prête à confusion, le GITHUB_TOKEN
disponible pour chaque dépôt suffit à pousser vers gh-pages
, mais ne suffit pas à déclencher la création d'une page sur GitHub, ni même à propager le contenu sur le réseau de diffusion de contenu GitHub.
Vous devez donc créer un jeton d'accès personnel (PAT) personnalisé, un peu comme vous le feriez pour des services externes (par exemple, Travis). Ce jeton doit être créé avec des autorisations repo
afin d'être déployé sur les pages Github. Vous devez ensuite coller ce jeton dans l'interface utilisateur de GitHub en tant que secret sous le nom GH_PAT
(paramètres/secrets du référentiel) et l'appeler dans l'action comme ci-dessous.
J'ai demandé à GitHub de rationaliser ce processus. La discussion est documentée ici.
Juste BUILD_DIR
, le répertoire de construction relatif à la racine de votre référentiel. Vous pouvez également passer .
si vous souhaitez pousser la racine de votre référentiel.
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 }}