de-vraag
  • 質問
  • タグ
  • ユーザー
通知:
報酬:
登録
登録すると、質問に対する返答やコメントが通知されます。
ログイン
すでにアカウントをお持ちの方は、ログインして新しい通知を確認してください。
追加された質問、回答、コメントには報酬があります。
さらに
ソース
編集
 JustinP8
JustinP8
質問

Team Cityスナップショットの依存関係を使用する場合は、スナップショットのポストビルドファイルを使用しているのか、単にSVNリビジョン番号を使用していますか?

1つのプロジェクトに2つのビルド構成があります。

  • Build & Test Code
  • Deploy Code

I want Deploy Code to run only if Build & Test Code built successfully, so I set up a snapshot dependency.

Does a snapshot dependency mean that Deploy Code will check out the same SVN revision as Build & Test Code and then run the NAnt script against that checkout, which will not contain the compiler generated post-build files? Or, will a snapshot dependency on Build & Test Code from Deploy Code mean that the NAnt will run against the post-build, working directory files of Build & Test Code on the build agent?

UPDATE:

It seems if I put a snapshot dependency on Build & Test Code for Deploy Code and I have a build of the latest revision for Build & Test Code, my NAnt script will deploy the post-build files for that build of Build & Test Code.

I would still like to confirm that I understand the concept, as I don't really understand the Team City documentation. I think I should probably make sure Deploy Code runs on the same build agent as Build & Test Code, otherwise I might run into a case where Deploy Code checks out the SVN revision and then just deploys the pre-build code files. Is this correct?

私の混乱は主に、Deploy CodeのVCS設定が必要なためです。リビジョン番号とスナップショットの依存関係を比較する必要があるからですか?

7 2011-10-27T20:20:05+00:00 2
 JustinP8
JustinP8
編集された質問 28日 10月 2011 в 2:04
プログラミング
continuous-integration
asp.net
teamcity
Troy Hunt
9日 11月 2011 в 9:07
2011-11-09T21:07:11+00:00
さらに
ソース
編集
#56792804

Dependent Builds docoページのスナップショット依存関係セクションから:

ビルド構成Aからスナップショットへの依存関係   構成Bは、Aの各ビルドが「適切な」ビルドを有することを強制する   両方のビルドが同じソースのスナップショット(使用されたソース   リビジョンは同じ瞬間に対応しています)。

したがって、スナップショット依存のアイデアは、正常に実行された別のビルドとまったく同じコードベースに対してビルドを実行できるということです。

ビルドとテストコードが正常に実行された後にのみ "デプロイコード"ビルドを実行する場合は、2番目のビルドでスナップショットの依存関係を作成し、 "適切なビルドのみを適切なものから使用する"に設定されていることを確認します。

これは人工物とは何の関係もないことに留意してください。 2番目のビルドは単純に同じコードベースを引っ張り、それを再び全部再コンパイルします。最初のビルドから作成されたアーティファクトを展開する場合は、代わりにアーティファクト依存関係を見たいと考えています。これはPaulが答えたところで書いたもので、正しいアプローチです。

あなたのアップデートに関しては、ビルド後のファイルは、最初のビルド後にビルドエージェント上に残っているため、利用可能であるように聞こえます。最初のビルドを実行してから、エージェントで「ソースのクリーニング」を実行し、2番目のビルドを実行してみてください。オリジナルのコンパイル出力はもはや存在せず、失敗するでしょう。複数のビルドエージェントがある場合や、2つのビルドの間にある程度の時間がかかる場合は、まだそこに存在する人工物として保存されていない出力に依存できないため、これは重要です。

はい、TeamCityのドキュメントは混乱しています:)

7
0
Paul Hunt
30日 10月 2011 в 1:57
2011-10-30T13:57:48+00:00
さらに
ソース
編集
#56792803

私はTeamCityのセットアップが非常に似ていますが、MSBuildはNAntではありませんが、同じ2ステップのビルドプロセスを使用しています。どのように設定したのか説明したらうまくいけば、何をする必要があるのか​​理解できるようになります。

私のセットアップでは、ビルド1はソース管理からコードを取り出し、コンパイルして単体テストを実行します。次に、デプロイメントに必要なすべてのファイルを成果物としてパブリッシュします。

ビルド2にはビルド1のアーチファクト依存関係のスナップショットとがあり、これはコードを作成しないということを意味し、単にビルド1のアーチファクトを取り出して展開するだけです。

実際には、これはビルド2をトリガーできることを意味し、2つのうちの1つが起こります。ビルド1が最新の場合は、ビルド1の最後の成功ビルドの成果物を単純に配置します。ただし、ビルド1が最新でない場合、TeamCityは自動的にビルド1を起動し、その後ビルド2を実行します。ビルド。

6
0
質問の追加
カテゴリ
すべて
技術情報
文化・レクリエーション
生活・芸術
科学
プロフェッショナル
事業内容
ユーザー
すべて
新しい
人気
1
Roxana Elizabeth CASTILLO Avalos
登録済み 16時間前
2
Hideo Nakagawa
登録済み 1日前
3
Sergiy Tytarenko
登録済み 3日前
4
shoxrux azadov
登録済み 5日前
5
Koreets Koreytsev
登録済み 1週間前
© de-vraag :年
ソース
stackoverflow.com
ライセンス cc by-sa 3.0 帰属