3

TeamCity ビルドを Springloops デプロイメントと統合する方法を知りたいです。

api2 つのブランチdevdev.build

api
|-- dev
|-- dev.build

devコミット時にビルドするために、VCS トリガーを使用して TeamCity をセットアップしました。次に、デプロイに使用するアーティファクトを作成します。(この場合、展開に使用したいさまざまな DLL を含む ASP.NET Web サイトです)。

また、現在デプロイに使用している Springloops もあります。理想的には、からデプロイしたいと思いdev.buildます。ビルド アーティファクトを TeamCity からdev.buildブランチにコミットし、そのブランチからデプロイする方法はありますか?

基本的なワークフローは次のようになります。

  1. コードをコミットするdev
  2. TeamCity がdev合併dev.build
  3. TeamCity のビルド元dev.build
  4. TeamCity はアーティファクト (DLL) をコミットしますdev.build
  5. Springloops の自動デプロイdev.build

ビルド バイナリ/アーティファクトを git に保存することに反対する意見を読んだことがありますが、現在は Springloops からデプロイを行っており、理想的にはそのセットアップを維持できます。コマンド ライン ビルド ステップとして呼び出すgitことができることはわかっていますが、すべてのピースをまとめるのに苦労しています。特に、TeamCity ビルド ステップとしてfromdevをマージしてから、fromをビルドする方法。dev.builddev.build

これはまったく可能ですか?私はこれについて完全に間違っていると考えていますか?他に選択肢はありますか?

編集・更新

Springloops を介して git リポジトリからビルド成果物をコミットする代わりに、WebDeploy を使用して TeamCity 成果物 (WebDeploy パッケージ) をデプロイすることに切り替える方が賢明であることがわかりました。デプロイに Springloops を使用するのをやめて、TeamCity ビルド タスクを通じて WebDeploy 経由で IIS サイトに直接デプロイすることを願っています。この方法では、ビルド アーティファクト (\binフォルダー) は git に含まれず、運用 IIS サイトweb.configで手動で編集する代わりに変換を使用することもできます。web.config

4

2 に答える 2

2

私がお勧めするもう 1 つのオプションは、TeamCity Artifactをビルドすることです。これは、統合された軽量ビルド アーティファクト リポジトリにジョブの結果を保存するために存在します。

そうすれば、Springloopsは TeamCity URL (または TeamCity エージェント) に直接デプロイするアーティファクトを探すことができます。その方が、それらのアーティファクトをGit のようなソース
コード リポジトリ に配置しようとするよりもうまくスケーリングできます。

TeamCity ビルド自体に関しては、2 つのジョブ (一方は他方に依存) で構成され、最初のジョブは自動マージ機能devを使用して、 にマージすることができdev.buildます。

于 2015-02-20T07:30:12.950 に答える
1

はい、これは TeamCity で完全に実行可能です。実際、Jetbrains は、こちらのブログ投稿で多くのことをカバーしています。

于 2015-02-23T01:07:01.520 に答える