circleci2.0ではまったのでメモ。
環境は、CentOS6系をDockerで固めてCircleCIで使っている。
自前のDockerでテストをしようとした時に、
step:内のcheckoutの段階で「error: unknown switch `B'」というエラーがでてしまう。
ローカルではそんなエラーはでないんだけど。
原因はDocker内のGitのバージョンが低いことだった。
調べたらver1.7だった。古い..。
Gitを2系に上げてあげることで無事ビルド通った。
ここでもうひとつハマリポイント。
Docker内でGitのソースを落としてtarで解凍してアップデートのだが、
これがまた以下のエラーを引き起こしてしまった。
CircleCI was unable to start the container because of a userns remapping failure in Docker.
This typically means the image contains files with UID/GID values that are higher than Docker and CircleCI can use.
rootでtar解凍をしたコンテナを固めて使うと、
UIDがDockerの限界を超えることが有り、
そうなっちゃったら今回のようなエラーになるようだ。
なので、別な方法でアップデートする
TarをつかわないGitのアップデート
http://blog.a1yama.com/entry/2016/10/14/191706tar
これでやっとグリーン!
CircleCI 2.0は速くていいですね。