LoginSignup
11
5

More than 5 years have passed since last update.

circle ci がめっちゃ混むので [ci skip] を勝手につけたい

Posted at

書く!と勢いこんだものの、書く時間を何か得体の知れないモノに奪われてしまいましたので、
テクニックといいますか、みなさまの開発現場でも使えそうなものを投下しておきます。

circle ci が混んでるやと・・

人数もそれなりに増え、Go言語のコンパイルが日々日々遅くなるばかり。
毎日熾烈なコミットが繰り広げられる現場で、ついにCIが大渋滞してきました。

終わらない・・終わらないんです・・・Circle CIがっ・・・。
一個回るのにxxx分かかるんです。待ってられないのです・・。

image

WIPやと・・・!
レイアウト修正やと・・・! HTMLの修正にテストをがっちり動かす必要あるのか・・!

          ____
        /      \
       /  ─    ─\
     /    ⌒   ⌒  \     ハハッ ワロス
     |       ,ノ(、_, )ヽ    |
      \      トェェェイ   /
       /   _ ヽニソ,  く

てなことでCIを回す必要ないんじゃない? ってコミットを少しでも抑制できればと思っていたところ、
CircleCIの公式ページに、Skip a build - CircleCI という記事にあるとおり、 [ci skip] とコミットメッセージをつけると、CIが回らない・・!

ということで拡張子を判定し、このコミットメッセージを付け足すgithookを書きましたとさ。

/path/to/directory/.git/hooks
$ 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をお楽しみください♪
(こんな記事で本当にすまん)

11
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
5