数年前に投稿した AWS CodePipeline でサブモジュールを使う方法を力技ではなくてもっと簡単にできる方法があったので紹介していきます。
何ができるようになったか?
ソースステージで git リポジトリのメタデータを取得することができるようになっていたようです。

CodePipeline の [出力アーティファクト形式] で [完全クローン] を選択するだけで利用できます。

これにより、submodule を sync するためだけにメインのリポジトリを clone し直す必要がなくなったのです。
CodeBuild で利用する場合の Buildspec は以下です。
version: 0.2
phases:
pre_build:
commands:
- git config --global credential.helper '!aws codecommit credential-helper $@'
- git config --global credential.UseHttpPath true
- git submodule sync
- git submodule update --init
artifacts:
files:
- '**/*'前回のものと比べると短くなってスッキリしました。



