らっちゃいブログ

日々の学びと気づきを発信するブログ

AtlassianがBitbucket Pipelinesを発表!さっそく試してみた

スポンサーリンク

ここまでのお話。

racchai.hatenablog.com

待ちに待った招待メールが届きました。すぐでしたね。

f:id:racchai:20160527164349p:plain

まずは [Bitbucket Pipelines add-on] をインストールする必要があるそうです。

f:id:racchai:20160527164634p:plain

すべてのリポジトリで有効化するなら、チームアカウントではなく自分のアカウントに Grant access せよとのこと。[Select account] をクリックして、そのようにしました。

f:id:racchai:20160527165119p:plain

おお!なにやら有効化されたっぽいですね。さっそく適当にプロジェクトを開いてみると・・

f:id:racchai:20160527165636p:plain

Pipeline リンクが追加されている!クリックしてみると、まずはセットアップせよとのこと。

f:id:racchai:20160527165901p:plain

[Setup up Pipelines] をクリック。

f:id:racchai:20160528212308p:plain

ふむふむ。[Enable pipelines] にチェックをいれてbitbucket-pipelines.yml を配置するだけってことですね。

言語毎に bitbucket-pipelines.yml のサンプルが用意されているのですが、今回はPythonのサンプルで試してみます。以下をコピペしてプロジェクトルート以下に作成し、コミット&プッシュ!

# You can use a Docker image from Docker Hub or your own container registry
image: python:3.5.1
   
pipelines:
  default:
    - step:
        script:
          - pip install -U tox
          - pip --version
          - tox --version

Bitbucketの画面を見てみると、プッシュを検知してタスクが開始されていました。

f:id:racchai:20160528213454p:plain

タスクを開いてみると、ちょうどタスクが終了したところでした。

f:id:racchai:20160528213555p:plain

スクリプトの実行毎に結果を開閉できる形式なのが地味にうれしい。Jenkins だとただただログが大量に出力されるだけなので、どのコマンドで失敗したのかを追うのが大変なんですよね(あるある)

サンプルが動いたので、次は実際のプロジェクト(進行中)でテストを実行してみることにします。

内容は詳しく解説しませんが、やりたいことを script に書いてプッシュ。(叩くコマンドで多少のレガシー感を感じさせますね)

image: python:2.7.11

pipelines:
    default:
        - step:
            script:
                - pip install virtualenv
                - virtualenv venv
                - source venv/bin/activate
                - pip install -r requirements.txt
                - python manage.py test

結果はこちら。

f:id:racchai:20160528221041p:plain

思いがけず自動テスト完成しました。手元のMacで実行するとすごい時間かかるし、マシンが熱くなるのでなかなか実行できないんですよね。

おかげでプッシュの度にテストを走らせられます。本当にうれしい。ありがとうAtlassian!