Circleci2.0でローカルにインストール可能なので挙動調査してみました
こんにちは、つじたく(@Tsuji_Taku50)です。
circleci2.0になってローカルにcircleciをインストールできるようになりましたね!
これでcircleciのビルドを確認するたびにリポジトリにpushする必要がなくなりました!
感激!
インストール
公式ドキュメントにインストール方法が書いてあるので、それに従って作業します。
インストール方法は以下です。
$curl -o /usr/local/bin/circleci https://circle-downloads.s3.amazonaws.com/releases/build_agent_wrapper/circleci && chmod +x /usr/local/bin/circleci
キチンとインストールされているか確認してみます。
% circleci (git)-[master] Receiving latest version of circleci... Error response from daemon: Get https://registry-1.docker.io/v2/: dial tcp: lookup registry-1.docker.io on 192.168.65.1:53: read udp 192.168.65.2:42849->192.168.65.1:53: i/o timeout
エラーが出るようです。。。
エラーから予測するに、僕のローカルにインストールしてあるdockerがおかしいのかな?
と思ったので、dockerを再起動してみました。
もう一度確認してみます。
% circleci (git)-[master] Receiving latest version of circleci... The CLI tool to be used in CircleCI. Usage: circleci [flags] circleci [command] Available Commands: build run a full build locally config validate and update configuration files tests collect and split files with tests version output version info Flags: -c, --config string config file (default is .circleci/config.yml) --taskId string TaskID --verbose emit verbose logging output Use "circleci [command] --help" for more information about a command.
インストールされているようです!
実際に試してみる
今回は下記リポジトリで試してみます。
使い方は普段のcircleci同様、ディレクトリのトップにcircle.ymlを配置して処理を書いておきます。
注意点としてはcircleci2.0と使う場合、circle.ymlにversion: 2
を書かなければいけません。
ローカルでcircleciを実行してみます。
% circleci build (git)-[master] ====>> Spin up Environment ・・・ ====>> run go code #!/bin/bash -eo pipefail go get -t github.com/google/go-querystring/query go vet ./connpass/ go test ./connpass/ ok _/.go/src/github.com/TsujiTakuya55/go-connpass/connpass 0.005s Success!
無事に成功しました!
実際にビルドしたcircle.ymlの処理は下記になります。
version: 2 jobs: build: working_directory: /.go/src/github.com/TsujiTakuya55/go-connpass docker: - image: golang:latest environment: GO15VENDOREXPERIMENT: 1 steps: - checkout - run: name: "run go code" command: | go get -t github.com/google/go-querystring/query go vet ./connpass/ go test ./connpass/
circleci1.0 → circleci2.0の変更点
circleci1.0 → circleci2.0に伴い、circle.ymlの書き方もかなり変更になります。
変更点が多すぎるので公式ドキュメントを貼り付けておきます。
まとめ
circleci2.0になって新機能も増えて、circleciの評判も周りで聞いてる限りはすこぶるいいような気がします。
これからcircleci2.0を使って気づいた点があれば、また紹介したいと思います。
おわり!!