windowsでcronを実施させて自動でgithubに毎日草を生やすまで(CHANGELOG.mdを自動更新)
全部ここに書いてるのでわざわざ解説するようなものではないですが、一応。
# WSLのディストリビューションを変えるたびに同じ設定をするのが面倒くさい
です。
趣味と実益を兼ねてWSL(ver2)を使い倒しているんですが、開発環境を作り直すのでしょっちゅう初期化します。
そのため冪等性(べきとうせい:何度繰り返しても同じ結果になること)を担保する必要があります。
dockerを使えばこの辺りは気にしなくていいんですが、WSL他でも同じように運用したいので、何とか同じことが出来ないか考えていました。
で、せっかくならファイルの管理も同じところでやりたい!
これを解決すべく、githubに上げたソースをcurlで持ってくることで解決できるとして、crontabをいじるとシステムファイルにアクセスするのでsudo権限が必要になります。
個人(WSL)で運用するなら問題にならないでしょうが、念のためコメントアウトをしています。
ここまでで、
- WSLにcronを設定して動かす
- sshconfigやgitconfigを設定する
までが出来ます。つまり、自動で毎日Githubに草を生やす事ができます。
本記事で想定している範囲はここまでです。
# 無駄なpushをするなら意味のあることをしたい
cronで適当に編集してpushすればいいんですが、無意味にpushするのもなんだかなぁ、と思ったんで毎回更新するのが手間なCHANGELOG.mdを自動でアップデートさせることにします。
まずはCHANGELOG.mdを更新する方法です。
私はgithub-changesを採用していますので、まずはコマンドから使えるようにします。
npm install github-changes
で入りますが、cronから実行する場合はフルパスを指定しないと、github-changesなんて知らねーぞ!と怒られます。
which github-changesで場所を確認しておきましょう。
curlで引っ張ってくる場所が/usr/local/bin/github-changes なので、異なる場合はlink -sでシンボリックリンクを作るか、スクリプト自体をダウンロードしてパスを変える手が有効です。
とりあえず使ってみるだけでも動くようにはなっていますが、初期値はshimajima-eiji/Chocolateyを指しているので、正しい内容を取得したい場合はご自身の環境に向けるようにしてください。