Ci

  • Published on
    CIのビルド時にECRからキャッシュ用にイメージをプルするパターンは多いと思いますが、その際は簡単に最も日時が新しいイメージが選ばれがちかと思います。 しかし「最新のイメージをとる」方法では複数のブランチで複数人が交互にプッシュする状況で、例えば片方がnode_modulesなど依存関係に変更を加えるものであると、互いのキャッシュを活かせないことになります。 この解決法は「最新のイメージをとる」ことではなく、「自身のコミットログと一致する範囲での最新のイメージをとる」ことです。そうすることで、まだマージされてない他所のコミット(イメージ)をスキップして、自身の直系の先祖にあたるコミットのイメージをプルしますので、キャッシュ効率が高くなります。