開発
新年度を迎える前にBitbucket Pipelines試してみませんか?
Shoma Saito
CIツールなに使ってますか?
Eyes, JAPANではBitbucketと連携させてCodeshipやCircle CIなど現在使っています!
でも新規にプロジェクトを立ち上げた際に連携したりするの面倒くさくないですか…?(少なくとも僕は面倒くさいです)
そこで、Bitbucketに新しく出来たPipelinesを使えば連携せずともBitbucket単体でCIを回すことが出来るんですね!便利!
料金は?
現状ではPipelinesはβ版なので無料で使えます。
ただ、2017 Early(4月くらい?)に新しい料金体制をとるらしく、それに伴ってPipelinesも有料化するみたいですね。
詳しくはこちらで…。
ただ、他のCIツールと比べるとビルド時間によって料金が変わるみたいなのでそこは注意ですね。
なので、今試してみて新年度から導入するか検討してみてはいかがでしょうか?
使い方
GUI
でやることは単純で、Pipelinesを使いたいリポジトリのページに行き、Enable Pipelinesをクリックするだけですね
CUI
まず、bitbucket-pipelines.ymlというファイルが必要で、その中にスクリプトを書くと、Pushしたら自動で実行されます。
docker image上でscriptが実行されるので、独自にdocker hubや他のprivate registoryに上げたimageも使えるんですね。
書き方は公式のページに乗ってますが、簡単に例を上げると、
image: ubuntu:14.04
pipelines:
branches:
master:
- step:
script:
- echo "Hello, master branch!"
default:
- step:
script:
- echo "Hello, world!"
こんな感じで書くことが出来ます。
branchesでブランチ毎に走るスクリプトを設定出来、defalutではbranchesにマッチしなかったブランチが変更された際に実行されるので、実用を考えると、
image: my-image
pipelines:
branches:
master:
- step:
script:
- echo "Deploy to Production Server"
develop:
- step:
script:
- echo "Deploy to Staging Server"
default:
- step:
script:
- echo "Build"
- echo "Test"
こんな感じになると思います。
実行時間は?
これ、普通に早いと思います。
料金のところでも時間で金額が変わると言いましたが、imageをpullするところは実行時間に入らないため、実質、
- Build setup (自動でそのimageに対してcloneしてくれる)
- Deploy (自分で書いたスクリプト)
で大体12秒くらいです。
Pipelinesは使うべき
と自分は思います。
ただ、カスタマイズしようとすればするほどDockerの知識が必要になるのでそれに関しては勉強しなければならないと思います。