CircleCI2.0上でgo1.10のビルドキャッシュを使う
風邪で会社休んでるのに何をしてるんだという気がしつつ。 タイトルの通りのやつをmediumに書いてみました。適当な英語で。
Making your build faster with go 1.10 on CircleCI 2.0
英語で書いたらいっぱい見られるかなと思ったらそんなことはなかったです。
ポイントは
GOCACHEDIR
を指定してあげるGOCACHEDIR
をキャッシュ対象にする- キャッシュに使うkeyに
CIRCLE_PREVIOUS_BUILD_NUM
とCIRCLE_BUILD_NUM
を使う
ことです。(CircleCIのキャッシュは更新ができないため)
mediumには書いてませんが(英語が限界だったため)、新しくfeatureブランチを作ったときにもキャッシュを使うためにcommandで環境変数にkeyを設定する方法も考えました。
多分こんな感じ
- run: name: set build cache key command: | if [ "${CIRCLE_BRANCH}" == "develop" ]; then echo "export BUILD_CACHE_KEY=build-cache-develop" >> $BASH_ENV else echo "export BUILD_CACHE_KEY=build-cache-$(CIRCLE_BRANCH)-$(CIRCLE_BUILD_NUM)" >> $BASH_ENV fi
が、十分に早くなったのでそこまで頑張らなくて良いかなーと思い見送りました。
英語でなんか書くのもこれに懲りずやっていきたいと思います。(なんとなくmediumで書くよりスライドの方が文章にしなくてよい分英語のアウトプットとしては簡単なんじゃないかと思いました。)