LoginSignup
6
4

More than 5 years have passed since last update.

werckerを使っていてローカルではテストが通るのにCIではコケる場合にデバッグする3つの方法

Posted at

werckerを使っていてローカルではテストが通るのにCIではコケる場合にデバッグする方法です。
いづれの方法もテスト実行時の状態のdocker imageをローカルに持ってくる方法になります。

前提条件 

ローカルでdockerが使えること。

方法1: ローカルでCIを実行する

wercker cliをつかってローカルでCIを実行する方法です。

wercker cliのインストール(Mac)

brew tap wercker/wercker
brew install wercker-cli

実行

wercker build --no-remove

--no-removeをつけるとdocker containerが残るので containerに入ってデバッグします。

方法2: werckerでbuildしたimageをpullする

wercker上でbuildしたimageをpullする方法です。
方法1と同様にwercker ciを使います。

wercker.yml

以下を追加します。

wercker.yml
build:
  after-steps:
    - internal/store-container

wercker pull

wercker上でbuildが走ったあとに以下のコマンドでpullできます。

wercker login
wercker pull isule/test

githubのアカウントを使っていてログインできない、ってひとはこちらを参照ください。

方法3: werckerでbuildしたimageをdockerhubにpushする

方法2は自分の環境では以下のエラーになって実行できませんでした。

ERROR No finished builds found for this application
FATAL Exiting.

そんなときはwerckerでbuildしたimageをdockerhubにpushしましょう。

wercker.yml

以下を追加します。

wercker.yml
build:
    after-steps:
        - internal/docker-push:
            username: $DOCKER_HUB_USERNAME
            password: $DOCKER_HUB_PASSWORD
            tag: debug
            repository: my/repository #適宜変更
            registry: https://registry.hub.docker.com

DOCKER_HUB_USERNAMEDOCKER_HUB_PASSWORDを環境変数に追加します。

image.png

実行

buildを実行すればdockerhubにpushされるはず。

以上です。

6
4
0

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
6
4