概略
circleCI2.0から実行環境でDocker Imageが使えるようになりました。
ローカルのPCにDockerを入れてcircleCIを実行します。
OS : Mac OS X Yosemite version 10.10
docker : Version 18.03.0-ce
circleCI2.0をローカルで実行するまで
まずはdockerをインストール
$ brew cask install docker
circleciのコマンドをインストール
$ curl -o /usr/local/bin/circleci https://circle-downloads.s3.amazonaws.com/releases/build_agent_wrapper/circleci
rootでなくても実行できるように権限を変更
$ chmod +x /usr/local/bin/circleci
ビルド実行
$ circleci build --job hoge-test
hoge-testのところに、.ymlファイルのjob名を入れます。
※ymlの書き方については割愛
Imagesの確認をする
入っいるimagesを確認
ビルド(circleci build)を実行した際にImagesが追加されていきます。
$ docker images
※始めて実行する時は時間がかかりますが、imagesが一回入っていればあとは早いです。imagesはvagrantのboxみたいなもので、.ymlファイルで定義してあるものです。
Dockerコンテナの起動
入っているimagesを使いdockerを走らせログインすることも可能です。
docker run --rm -i -t circleci/php:hoge-images /bin/bash
※vagrant upに近いイメージです。exitで抜けるとdestroyするので使い切りのイメージです。
おしまい
これで毎回リモートにプッシュしてビルドして確認しなくて済み、ローカルでdebugが可能となりました。
ただしjobのキャッシュはスキップされるのでローカルでは確認できないので注意が必要です。
( save_cacheとrestore_cache)
Error: Skipping cache - error checking storage: not supported