Circle CIでgit submoduleをクローンしたい場合

注意: この記事は1年以上前に掲載されたものです。情報が古い場合がありますのでお気を付け下さい。

最近では、様々なプロジェクトでCircle CIを使っていると考えられる。Circle CIではGitHubやBitbucketと連携して、コミットのプッシュを受け取ったら、自動的にビルドやテストをすることができる。さて、今回はgit submoduleを使っているリポジトリでCircle CIを使う場合の注意事項について書いて見たい。

Circle CIではクローンする際に--recursiveオプションをつけていない模様で、サブモジュールまではクローンしてくれない。したがって、circle.ymlにサブモジュールを使うようにできるようにする必要がある。

とは言え、通常は以下を追加するだけである。

checkout:
  post:
    - git submodule sync
    - git submodule update --init

これでサブモジュールを落としてくれるようになる。もし非公開リポジトリ〜なのであれば、認証情報をセットする必要がある。

これは気づかないと落とし穴になってしまうので、覚えておくと良いだろう。

タイトルとURLをコピーしました