2016-09-23 7 views
1

私は3つのステージ(開発/ステージング/プロダクション)を持っています。私は正常にそれぞれの出版をセットアップしました。そのため、コードはmsbuildを使って適切な場所に展開され、正しいWeb設定が変換された状態で - すべてJenkins内に展開されます。Jenkinsを使用して運用サーバーに展開する

私が抱えている問題は、デベロッパー(およびステージング・プロダクション)上に構築されたものからステージングするコードを配備することを知らないということです。私は現在SVNをソースコントロールとして使用していますので、devがビルドした最新のリビジョン番号を何とか保存し、Jenkinsにその番号に基づいてステージングをビルド/デプロイするように指示する必要があると思いますか?

これを行う方法はありますか、それとも良い方法ですか?

ご協力いただければ幸いです。

編集: - :

How to promote a specific build number from another job in Jenkins?

それは説明し、次のジョブへのリビジョン番号を含むファイルを解析し、リビジョン番号方式を、保存し使用することを決めたが、これを行うために、私はこの答えを踏襲しましたプロモーションプラグインを使用してアーティファクトをあるジョブから別のジョブにコピーする方法。そのガイドの上に使用して、ステージングジョブに続いて%SVN_REVISION%> env.properties

はDEV_ENVIRONMENT_CORE_REVISIONをエコー:アーティファクト自体のために、私は、メインのビルド後のステップを構築する「Windowsバッチコマンドを実行」を追加しましたそのファイルをコピーした後、プラグインEnvInjectを使用して、そのファイルから読み込んで環境変数を設定し、SVNリポジトリURLのパラメータとして使用できます。

答えて

0

DEVに組み込まれているチェンジセット番号を特定し、そのチェンジセットを手動でJenkinsビルドに渡して、SVNから同じチェンジセットを取得できるようにする必要があります。明らかにそれはあなたの配備をよりマニュアルにします。おそらく、チェンジセット番号をファイルに公開し、その後、チェンジセット番号のファイルを読み込むために、後でenvビルドを作成するようにJenkinsを設定することができます。

このモデルも使用していましたが、常に複雑でした。最終的にはビルドに1回移動し、WebDeployを使用して何度もモデルをデプロイしました。これにより、プロセスがずっと簡単になりました。それをチェックしてください - http://www.dotnetcatch.com/2016/04/16/msbuild-once-msdeploy-many-times/

+0

あなたの「一度と何度も展開する」プロセスに関するより詳細なブログ記事がありますか?わからないこと: 1.パッケージングと異なる環境への展開では、パブリッシュファイルが正しく使用されますか? 2.パッケージングは​​プロジェクトレベルでのみ適用されるようですので、私のソリューションでは4つのプロジェクトが公開される必要があります。 –

+0

リリースオーケストレーションツールをセットアップして、パッケージを適切に適用する必要があります。私たちはThoughtworks GOを使用します。現在でもVSTSには本当に素晴らしい機能がいくつかあります。 GOには50本のパイプラインがあります!それぞれに複数の展開可能なコンポーネント(ASP.NETサイト、SQL ServerのDB、ウィンドウサービスなど)があり、うまく機能します。次の投稿は、展開パッケージを作成する方法の概要です。私のブログにはもっと多くの具体的な例があります。 - http://www.dotnetcatch.com/2015/04/22/extending-msdeploy-beyond-the-web/ – chief7

関連する問題