ここにあるものです。私はいくつかのJava=バックエンドアプリをデプロイするjenkinsパイプラインジョブを持っています。パイプラインはSCMからのスクリプトによって実行されます。このスクリプトは、開発チームのコードを取得するスクリプトであり、1-そのコードをチェックアウトします2-WARをコンパイルして作成します3-warをWebサーバーにコピーします。
現在、開発者はロールバックを実装したいと考えています。ジョブが実行され、新しいデプロイメントが行われて失敗した場合、正常に機能していた最後のデプロイメントに戻りたいと考えています。
ジェンキンスでこれを行う方法はありますか?たとえばJfrogアーティファクトを使用して?アーティファクトが構成され、WARS(または他のファイル)をそのリポジトリにアップロードできますが、使用されていません。これを実装する方法がわかりません。別のWARファイルにタグを使用し、デプロイメントが失敗した場合、問題なく動作するアーティファクトな最新のWARから取得すると考えていました。これは可能ですか?このアプローチは、アーティファクトを使用してジェンキンスでどのように行うことができますか? WARを作成した後、そのWAAをアーティファクトにアップロードする新しいステップを実装できますが、どのようにしてtisをjenkinsに接続して、必要なWARを使用できますか?これを行う方法について何か提案はありますか?ありがとうございました!
これらのアプローチをお勧めします:
この場合、パラメーターとしてブランチ名またはタグを受け取るには、現在のパイプラインをパラメーター化するだけです。
ワークフローは次のとおりです。
この場合、ソフトウェアのバージョン管理戦略を採用する必要があります。このソースを読む:
最も簡単なモードでは、戦争の増分リリースバージョンをビルドするだけです。春のバージョンも同様に機能します:
https://mvnrepository.com/artifact/org.springframework/spring-core
例えば:
Artifactoryの代わりに、GithubリリースまたはGitlabパッケージを使用して、次のようなシナリオに従うことができます(prod.build_number.short_commit_hashのようなバージョン管理スキームを想定)。