LoginSignup
7

More than 5 years have passed since last update.

WerckerでQuay.ioのPrivate Repositoryを使用する

Last updated at Posted at 2016-04-26

この記事はAndroidのCI環境をCircleCIからWerckerにした話に関連した投稿です。

概要

wercker.ymlのboxにQuay.io(キーio)でホストしたrepositoryを指定する方法についてのメモです。

Quay.ioは、セキュアなDocker private repositoryのホストサービスになります。Dockerのホスティングサービスは複数ありますが、社内の他プロジェクトで利用実績のあるQuay.ioを使用します。

wercker.ymlの例

以下はAndroidプロジェクトをビルドするwercker.ymlです。boxにはDockerHubのPublic Repositoryに登録したimageを使用しています。このboxで指定しているRepositoryをQuay.ioでホストした物に変更します。

wercker.yml
box: horie1024/wercker-android-build:0.1
build:
  steps:
    - script:
        name: execute unit test
        code: |
          ./gradlew testDebug
    - script:
        name: execute assembleRelease
        code: |
          ./gradlew assembleRelease

wercker.ymlのboxセクションでPrivate Repositoryを指定する

wercker.ymlのboxセクションでPrivate Repositoryを指定する方法は、こちらのドキュメントが参考になります。そして、Quay.ioではyamlは以下のようになります。

idにはRepository名、username、passwordについては、WerckerのWeb UIで入力した環境変数を参照するようにします。

build:
  box:
    id: quay.io/knuth/golang
    username: $USERNAME
    password: $PASSWORD
    tag: beta
    registry: quay.io
  steps:
    - script:
      name: echo
      code: echo "hello world!"

ドキュメントとは異なりますが、以下のようにyamlを書いても問題ありませんでした。個人的にはこちらの方がわかりやすい気がします。

box:
  id: quay.io/knuth/golang
  username: $USERNAME
  password: $PASSWORD
  tag: beta
  registry: quay.io
build:
  steps:
    - script:
      name: echo
      code: echo "hello world!"

また、DockerHubのPrivate Repositoryの場合以下のようなyamlになります。DockerHubの場合registryの指定は不要です。

build:
  box:
    id: guido/python
    username: $USERNAME
    password: $PASSWORD
    tag: latest
  steps:
    - script:
      name: echo

Werckerの環境変数に登録するusernameとpasswordを用意する

WerckerでPrivate Repositoryを使用するためには、usernameとpasswordが必要になるため、Quay.ioのRobot Accountsを作成し、そのusernameとpasswordをWerckerのWeb UIから登録します。

Robot Accountsの作成

Quay.ioにログインすると以下のような画面が開くので、左側のメニューから「Robot Accounts」を選択します。そして、右上の「Create Robot Account」をクリックしRobot名を入力してEnterを押します。これでRobot Accountが作成されます。

quay1.png

Robotのusernameとpasswordの取得

Robot Account Nameをクリックするとusernameとpasswordが表示されます。

quay2.png

Werckerへの登録

Werckerのドキュメントを参考に入力すればOKです。
http://devcenter.wercker.com/docs/environment-variables/creating-env-vars.html

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
7