Bitrise でジョブを定期実行する
概要
Bitrise でジョブを定期実行する.お題は以下のとおり.
- ブログのビルドとデプロイを Bitrise で実行できるようにする
- 毎日自動で実行することで,予約投稿と同等のことができるようにする
Bitrise でビルドとデプロイができるようにする
このブログは Jekyll で構築している.サーバーへのデプロイは FTP で行っている. ブログのビルドとデプロイは Glynn という gem で一括でできるようにしている.
Bitrise のジョブとしては,以下のタスクを実施すれば良い.
- ブログのソースを git clone する
- Glynn の設定ファイルをつくる
- Glynn を実行する
タスク1は Bitrise の Git Clone Repository
ステップを使えば良い.タスク2は Code Signing タブに glynn ファイルをアップロードして,シェルスクリプトで DL すれば良さそう.タスク3もシェルスクリプトを実行するだけ.
Script
ステップを定義して以下のようにした.
#!/usr/bin/env bash
# fail if any commands fails
set -e
# debug log
set -x
curl -o _glynn.yml $BITRISEIO_GLYNN_YML_URL
bundle install --path vendor/bundle
bundle exec glynn
Bitrise のスケジューリング
ベータ機能でジョブの定期実行ができる. Start/Schedule a Build
からぽちぽち設定するだけ.
この機能,だいぶ前からリリースされているっぽいがなぜかまだベータ.
設定ができると Builds
タブに表示されるようになる.
Jekyll のビルドはデフォルトだと過去日付の投稿しかビルドしないので,投稿には未来の日付を指定しておき,Bitrise で毎日ビルドを実行すれば予約投稿と同等のことができる.
まとめ・感想
- Bitrise でジョブの定期実行ができた
- ブラウザからぽちぽちするだけで特に書くことがなかった
ちなみに Glynn はもう更新しないらしい.FTPS 対応ができなくなっていたので Fork してなおした. 確かに Jekyll でビルドだけして,好きな FTP ソフトウェアでアップロードするのが筋が良さそうか.