Help us understand the problem. What is going on with this article?

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

More than 3 years have passed since last update.

この記事は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

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away