ビルドスクリプトとビルドサーバーの責任について明確にする必要があります。
継続的な統合とビルドに関するいくつかのネット上の記事を読みました。含む
そして、私たちのソフトウェアのビルドプロセスについてアドバイザーと会話しました。彼は非常に経験豊富であるため、私は彼の発言を信頼しますが、混乱が残りました。
私が理解しているように、私の研究から(そして私が尋ねているのでここで私を修正してください)理想は次のようになるはずです:
- すべてのプロジェクトにはビルドスクリプトがあります
- このスクリプトはプロジェクトをビルドします
- このスクリプトは、依存関係が以前に構築されていることを確認します
依存関係は他のプロジェクトになる可能性があるため、独自のビルドスクリプトを使用すると、ツリーのような階層が生じます。すべてのプロジェクトとアプリケーションをビルドするトップビルドスクリプトがある場合があります。
ただし、ビルドサーバーの責任は次のとおりです。
- リポジトリをチェックアウトする
- ビルドをトリガーする
- トリガーテストおよびその他のQAツール
- アーティファクトを利用可能にする
これは、手動で、夜間に、またはリポジトリが変更されるたびにトリガーされます。
私のアドバイザーの目的は、私が理解しているように、1つのビルドスクリプトは柔軟性がなく、維持できない方法であるということです(レガシーコードベース用に作成するのに非常に時間がかかるという事実は別として)。また、ビルドサーバーは依存関係を維持する必要があります。たとえば、新しい依存関係を作成するときに古い依存関係を使用すると失敗します。特にAnt
、具体的な主題であったため、コードベースで使用されるあらゆる種類の異なるテクノロジーを構築することはできず、依存関係を維持することもできません。
目的を詳しく説明して、責任を明確にしてください。