2012-02-13 3 views
1

私は自分の会社でTeamCityを継続的に使用しています。私たちはMercurialをTeamCityの同じサーバーにある中央リポジトリと一緒に使用しています。中央リポジトリでDCVSでCIツールを使用するにはどうすればいいですか?

TeamCityを設定して中央リポジトリに.sln(Solution File)を取得し、プロジェクトをビルドします。

しかし、一部の開発者が変更を加えると、中央リポジトリは自動的に更新されません。その後、TeamCityはリポジトリ内の変更を検出し、中央リポジトリ内の古いバージョンをビルドします。手動で更新するまで、中央リポジトリのファイルは古いです。

中央リポジトリを持つDCVSでCIツールを使用するには、どのようなワークフローを行う必要がありますか?

編集:コメントによると

。これは私のチームシティーの設定です:

enter image description here

enter image description here

enter image description here

私は問題を発見した:

私は中央リポジトリのパスの代わりにディレクトリを使用していましたTeamCity Checkoutの

ソリューションファイルのパス:は次のようになります。(Cでのチェックアウトのディレクトリからの相対:チームシティー\ buildAgent \作業 \)SRC \ BMGChip.sln

+1

開発者はどこにプッシュしますか?中央リポジトリではありませんか?私は手動でアップグレードするまで – Alan

+0

@Alanはい、しかし、中央リポジトリ内のファイルが古いです。 –

+0

開発者がTeamCityが監視しているのと同じ中央リポジトリに移動している場合は、動作します。 「手動でアップグレードする」とはどういう意味ですか? – jrummell

答えて

2

が効果的であるために、あなたのCIを構築する必要がありますあなたの開発者が変更を推進しているところであればどこでも。

また、手動で変更を中央のリポジトリにプルする場合は、そのブランチをweelとしてビルドするようにCIを設定する必要があります。

プロジェクトが構成されている方法の詳細を知らず、セットアップCIへの1つの方法は、次のようになります。

開発者は、あなたの中央のリポジトリ上の共有ブランチにそのチェンジを押してください。 CIはこのブランチを監視するようにセットアップされており、チェンジセットがプッシュされると、CIはビルドを開始します。

ビルドが良好な場合は、ブランチを手動でプロジェクトの「マスター」ブランチにマージできます。 CIもそのブランチを監視するようにセットアップされ、マージが成功したことを確認するためにビルドを開始します。開発者は、ビルドが成功した場合、自動的に共有developブランチにマージされて構築されている機能ブランチ、にプッシュなど -

は、このテーマにさまざまなバリエーションがあります。一般的な考え方は次のとおりです。時点で、リリース(など、任意の手動テストを禁止する)準備ができている一方の分岐があるはず、ので、あなたの中央リポジトリ上の任意の共有ブランチが、それを見てCIを設定している必要があります。

+0

更新をご覧ください... –

関連する問題