これはJavaで書かれたWebプロジェクトです。
それで、ビルドとデプロイのスクリプトを書いています。ビルドを作成するために、antを使用しました。継続的なビルドはJenkinsで行われます。
ビルドは3つの異なる成果物を生成します。
- 戦争ファイル
- レイアウト付きのzip
- 画像を含むzip
これまでのところ、これでいいのですが、今度はdeployスクリプトを記述する必要があります。
- サーバー1で実行されているTomcatに戦争(アーティファクト1)をデプロイします
- サーバー1のアーティファクト2を特定のディレクトリに配置します
- サーバー2のアーティファクト3を特定のディレクトリに配置します
そこで同僚と話していて、正しいサーバーに配置したときにこれらのアーティファクトをデプロイするアーティファクト(多分deploy.xml)も生成する必要があると彼は言いました。
したがって、別のスクリプトがあります。
- ジェンキンスのアーティファクトをダウンロードする
- 各サーバーにscpし、そこにdeploy.xmlを配置します
- deploy.xmlをリモートで呼び出す
私を少し不快にしているのは、build.xmlをビルドアーティファクトとして持つ行為です。この背後にある動機は、VCSリポジトリにアクセスする必要なしにデプロイできるため、ビルドは自己完結型になります。つまり、すべてのビルドはJenkinsによって生成されたものでのみ本番稼働できます。
配置スクリプトはどこに配置する必要がありますか?それらはVCSにのみあるべきですか、それともビルドアーティファクトであるべきですか?