Comme le dit le titre.
Pelican + Il existe un site géré par GitHub Pages.
J'ai essayé de configurer Travis CI pour générer automatiquement du HTML avec la commande pelican
lorsque j'ai poussé un article vers master
et l'ai poussé dans la branche gh-pages
pour mettre à jour le site.
Site: http://zaki-yama.github.io/salesforce-developers.info
J'ai essayé le type de GitHub Pages appelé ** Project Pages **. Il existe deux types de pages GitHub: ** Pages utilisateur / organisation ** et ** Pages projet **.
User/Organization Pages
--Nom du référentiel: [** Nom du compte GitHub **] .github.io
http: [** nom du compte GitHub **] .github.io
master
Project Pages
--Nom du référentiel: facultatif
http: [** nom du compte GitHub **] .github.io / [** nom du référentiel **]
gh-pages
TL;DR
Si vous savez lire l'anglais, vous pouvez suivre cet article. http://blog.thomasemmerling.de/automatic-pelican-publishing-on-github-pages-via-travisci.html
travis
$ gem install travis
Référence: Création d'un jeton d'accès pour une utilisation en ligne de commande - Documentation utilisateur
Vous avez besoin d'un jeton pour pousser de Travis CI vers le référentiel GitHub. Ouvrez Paramètres> Jetons d'accès personnels sur GitHub et émettez un nouveau jeton avec [Générer un nouveau jeton].
Copiez la chaîne de caractères affichée.
Utilisez la première commande travis
installée.
$ travis encrypt GH_TOKEN=[Jeton copié]
Shell completion not installed. Would you like to install it now? |y| y
Detected repository as zaki-yama/salesforce-developers.info, is this correct? |yes| yes
Please add the following to your .travis.yml file:
secure: "FLEqynRypa3B4S9qzcj0OTCwXrHUjEvsiXTI0r7qhZMzt11JUJUSzpVce/q5ZSENuBe9LR+c7MHl0pq9+1fka7bnYpbqWSybbIT5hLUVpIxB2ZvapogHmf9L/1n0vcODGhFwMUOfI1MuDN47wGCHS+qabNkIlzGGQPZYpri1ns1sp5rM7VFmVW6p3grAnhkaVWJIvW7GZORIPH11uBWtWsO2vhymrzM1J/PAgbJcSCjhtEZ79ntiG9DkAGqG27mVKPMNN8NDeIFGlbz2YyPgAqursSjZEPgmnzcQhzqyGz9D9Z5vAONki5vZ9CamEPfFa9llbQlwceM/7DJS+8FsBmiHH59i5rxW40iNK2otl6rSapXp1CLoWptXKVcyl9EjKcBUrRpWZ0Xzj94Ili80RbXiFJBW3B4qtrx7KCweUPURlY94a7n+P+pjbnx/jsdXFyvW4yR9R4+we82TxMPn49kq9Qf0cKnuEkVBOK1QyntdIDcW/L6heWqJAjWJMMGch4lSi0cN/8UGZxqq0b+OoHBp3FHWrnvOnLFB4mEgzp1/sa5jAFr6uq9mIS/TZ37XWrUX39YzAp6IL9Xq5Gmwof8nhKfnX7xm/yb3bglOt9HgrxArEKWoc/w/Gt4uxjGMQ2B9YjJsOdnxBHPpUgUXXxHj0FaD6K0pHLpJRQ+v78A="
Pro Tip: You can add it automatically by running with --add.
La chaîne de caractères après secure:
est un jeton chiffré, alors copiez-le.
Créez un fichier .travis.yml
à la racine du référentiel et écrivez comme suit.
yaml:.travis.yml
language: python
branches:
only:
- master
install:
- pip install pelican
- pip install ghp-import
- pip install markdown
script:
- make publish
- make github
env:
global:
- secure: [jeton chiffré avec la commande travis encrypt]
Modifiez la partie make github
du Makefile de Pelican.
Dans mon cas, c'était à l'origine comme ça.
Makefile
PY?=python
PELICAN?=pelican
PELICANOPTS=
BASEDIR=$(CURDIR)
INPUTDIR=$(BASEDIR)/content
OUTPUTDIR=$(BASEDIR)/output
...(Omission)...
GITHUB_PAGES_BRANCH=master
...(Omission)...
github: publish
ghp-import -m "Generate Pelican site" -b $(GITHUB_PAGES_BRANCH) $(OUTPUTDIR)
git push origin $(GITHUB_PAGES_BRANCH)
.PHONY: html help clean regenerate serve serve-global devserver publish ssh_upload rsync_upload dropbox_upload ftp_upload s3_upload cf_upload github
Modifiez la dernière partie github: publish
comme ceci.
Makefile(modifié)
github: publish
ghp-import $(OUTPUTDIR)
@git push -fq https://${GH_TOKEN}@github.com/$(TRAVIS_REPO_SLUG).git gh-pages > /dev/null
ghp-import
avant la modification est probablement pour les pages utilisateur / organisation,
Cela poussera le fichier HTML généré par ghp-import
vers la branche master
.
ghp-import
devient gh-pages
si -b
est omis.master
Validez le Makefile modifié avec .travis.yml
et envoyez-le dans la branche master
.
Si les paramètres sont corrects, le build Travis CI s'exécutera, et le build Pelican et le push vers la branche gh-pages
seront exécutés automatiquement.
Je voulais faire une pull request vers master
en faisant de l'article avant publication une branche séparée, en le construisant après la fusion et en publiant l'article.
Dès que j'ai fait le PR, la construction a fonctionné et j'étais impatient, mais c'était dans les paramètres Travis CI.
Référence: J'ai essayé d'utiliser Travis CI: je voulais mettre un badge sur le référentiel GitHub
Cliquez sur le badge build unknown dans la console d'administration Travis CI, sélectionnez Markdown et copiez le texte qui apparaît.
Collez-le dans README.md et appuyez pour voir le badge.
Recommended Posts