あ ビルドパイプラインビルドするアーティファクトのソースコードは別として、サードパーティのリソースにアクセスする必要があることがよくあります。これらのサードパーティの各リソースは、ビルドにリスク要因をもたらします。たとえば、
配布リポジトリは一時的に利用できないため、配布パッケージのインストールは一時的に失敗します。
以前と同じように、ディストリビューションリポジトリは永久に利用できなくなります。
一部のNPMフリーソフトウェアパッケージは、作成者が撤回を取り戻したため、存在しなくなりました。
サードパーティツールの一部のソースファイルまたはバイナリアドホックパッケージは使用できなくなりました。
このリストは、拡張することができアドリブをし、それが音としてはるかに楽しまれている姿を消すために、いくつかのサードパーティのリソースにつながる様々な理由を勉強しながら、それは最初にすべての私たちのために悲惨な結果をもたらす:ビルドパイプラインが壊れています。
Dockerイメージをビルドするときに、次の2つのケースをカバーする最良の方法は何ですか。
- curlまたはwgetでダウンロードされたキャッシュファイル。
- Debianパッケージのキャッシュ。
ここで考えられるいくつかのもっともらしい戦略があります。たとえば、プロキシを使用して、すべてのリクエストをこのプロキシ経由でルーティングするようにビルドシステムを構成します。2番目の安価な可能性は、curl呼び出しをラップして結果をローカルキャッシュに格納することです。
(この質問では、2番目に重要な問題として、ビルドパイプラインのいくつかのユニット間でキャッシュを共有することを検討します。)