Twitter でタイムラインを眺めていると 「草生やして転職。」 なんていうふざけた広告が流れてくるので、なら自動栽培してやろうと思い立った。
Tools
- GitHub
- Travis CI
Overview
とても簡単で毎日 Travis CI を動かして、ファイルいじって、 GitHub にプッシュするだけです。
Config
Travis CI に設定する必要がある項目を紹介する
Cron Jobs
毎日実行されるように設定するだけ
Environment Variables
GitHub の Personal Access Token を使う
USER_TOKEN
にトークンをセットすると完了
travis env set USER_TOKEN the-generated-token --private -r tanjo/saibai
または Travis CI のサイトで設定できる
Code
Travis CI の TRAVIS_EVENT_TYPE
が cron
の時にファイルを更新して GitHub へ push する。
イベントタイプによる判断をしているので cron 以外のジョブでは GitHub への push が実行されることはありません。
tanjo/saibai
はダミーリポジトリ名で存在しません。
language: ruby
rvm: 2.6.2
before_install:
- gem install bundler:2.0.1
script:
- |
if [ $TRAVIS_EVENT_TYPE = cron ]; then
echo -e "machine github.com\n login $USER_TOKEN" >> ~/.netrc
git clone --branch develop --depth 1 https://github.com/tanjo/saibai.git
pushd saibai
git config user.name "tanjo"
git config user.email "tanjo@users.noreply.github.com"
echo `date` > .updated
git commit -m "Update .updated"
git push origin develop
popd
fi
branches:
only:
- develop
Result
約1年くらい栽培した結果がこちらです。
丹精込めた日ほど色濃く育ちます。
他にどうやらまとめてやる方法があるらしいですが、日々の努力をアピールするため毎日 push しました。
ちなみに、こういった使い方は推奨されないためオススメはしません。
Travis CI で develop ビルドから master へ自動 push がしたい等の参考にしてください。