書く!と勢いこんだものの、書く時間を何か得体の知れないモノに奪われてしまいましたので、
テクニックといいますか、みなさまの開発現場でも使えそうなものを投下しておきます。
circle ci が混んでるやと・・
人数もそれなりに増え、Go言語のコンパイルが日々日々遅くなるばかり。
毎日熾烈なコミットが繰り広げられる現場で、ついにCIが大渋滞してきました。
終わらない・・終わらないんです・・・Circle CIがっ・・・。
一個回るのにxxx分かかるんです。待ってられないのです・・。
WIPやと・・・!
レイアウト修正やと・・・! HTMLの修正にテストをがっちり動かす必要あるのか・・!
____
/ \
/ ─ ─\
/ ⌒ ⌒ \ ハハッ ワロス
| ,ノ(、_, )ヽ |
\ トェェェイ /
/ _ ヽニソ, く
てなことでCIを回す必要ないんじゃない? ってコミットを少しでも抑制できればと思っていたところ、
CircleCIの公式ページに、Skip a build - CircleCI という記事にあるとおり、 [ci skip]
とコミットメッセージをつけると、CIが回らない・・!
ということで拡張子を判定し、このコミットメッセージを付け足すgithookを書きましたとさ。
$ cat commit-msg
#!/bin/sh
git diff --staged --name-only | grep -e .go -e .ts > /dev/null;
if [ "$?" -ne 0 ]; then
echo " [ci skip]" >> $PAIRS_ROOT/.git/COMMIT_EDITMSG;
fi
-e .go -e .ts
の部分に色んな拡張子を混ぜて、コミットに該当する拡張子がなかったら、コミットメッセージに [ci skip]
と勝手につけてくれちゃいます。
この例だと、 .go
, .ts
がなければ [ci skip]
つけちゃいます。
ぜひhookをつくって、快適なCircleCIをお楽しみください♪
(こんな記事で本当にすまん)