Meta-Weeklyの1週間後, TravisCIとGithub Pages
先週、定期更新されるJavaScript等の情報サイトをまとめたMeta-Weeklyというサイトを作りました | Web scratchで、Meta Weeklyというサイトを公開しました。
Pull Requests もあったりしたので、幾つかサイトが増えてたりします。
Meta-Weekly/CONTRIBUTING.md at master · azu/Meta-Weekly のガイドにしたがってPull Requestsしてもらってマージされれば、サイトの方に自動的に反映するようにしています。
その辺の仕組みは 定期更新されるJavaScript等の情報サイトをまとめたMeta-Weeklyというサイトを作りました でちょろっと書いてましたが、サイトはGitHub Pagesで公開されていて、
masterブランチにコミットがきたら、Travis CI でdata.jsonでテストが走って、Travis CIから gh-pages
ブランチに静的サイトを生成してpushしています。
Travis CIからリポジトリにpushするためには、.travis.ymlにGithubのトークンを埋め込む必要が有ります。
それを使って https://[email protected]/$GH_REPO.git
という感じでトークンを指定したURLにすることで実現出来ます。
この方法は以下の記事などを見てやりましたが、該当記事通りにやるとGithubのトークンが、Travis CIのコンソールに公開されてしまっている問題があったのでその辺の報告とかしてました。
- Middleman で作った web サイトを Travis + GitHub pages でお手軽に運用する – tricknotesのぼうけんのしょ
- using travis-ci to build using docpad, and publish to github pages
最終的に、該当のdeploy-gh-pages.shでは、
git push -fq $REPO_URL gh-pages 2> /dev/null
というように --force --quiet
コンソールに余計な情報が出ないようにするという感じにしています。
手動でgit cloneする必要がある場合はそこにも --quiet
が必要だったり、結構事故率が高そうな作りなので、もっと安全に倒した方法があるといい気がします。
仕組み的には、DroneやBuildHiveでも利用できると思うので色々使い道がある気がします。
お知らせ欄
JavaScript Primerの書籍版がAmazonで購入できます。
JavaScriptに関する最新情報は週一でJSer.infoを更新しています。
GitHub Sponsorsでの支援を募集しています。