0

次のビルド構成を検討してください。

[ビルド & パッケージ] -> [TEST にデプロイ] -> [LIVE にデプロイ]

これらを次のように設定しました。

  • [Deploy to TEST] は [Build & Package] にスナップショットとアーティファクトの両方の依存関係があります。
  • [Deploy to LIVE] は [Deploy to TEST] にスナップショットの依存関係があり、[Build & Package] にスナップショットとアーティファクトの依存関係があります。

これにより、ビルドチェーンですべてのビルドがうまくリンクされ、定期的にビルドしてパッケージ化できるようになり、準備ができたら、チェーンを TEST 環境に拡張できます。テストのためにここに 1 週​​間置くことができます。その後、[Deploy to LIVE] 構成を実行します。これは、先週テストしたものと同じバイナリを展開していることを認識しています。すごい!

コード自体の "Source" とデプロイ パラメーターの "Config" の 2 つのリポジトリを使用します。これにより、ソース VCS リポジトリのリビジョンを強制的に増やすことなく、運用チームが展開/環境設定を変更および追跡できるため、ソースの問題と環境/構成の問題を混同することを回避できます。また素晴らしい。

構成 VCS ルートは、[Deploy to TEST] 構成と [Deploy to LIVE] 構成の両方にアタッチされます。

発生した問題は、1 週間前に TEST (Source:1002, Config:6) へのデプロイに成功して以来、デプロイの設定を LIVE に変更したため、Config VCS ルート (Config: 7)。ここで、既知の適切な Source:1002 を Config:7 で LIVE にデプロイしたいと考えていますが、ビルド チェーンは Config:6 を使用してスナップショットを維持することを要求しています。

LIVE でより新しいバージョンの構成を使用できるように TeamCity を強制するにはどうすればよいですか? ただし、ビルド チェーンはそのまま維持します。

その後の変更をソースにコミットしましたが、まだ LIVE には入れたくないので、単純に最初からすべてを再実行することはできません。

4

1 に答える 1

0

新しいプロジェクトのパイプラインを設定しているときに自分で答えに出くわしたように見えるので、この質問を更新すると思いました。

重要なのは、基本的に、VCS から構成 XML ファイルを取得し、それらを [Get Config] などのアーティファクトとして保存するという専用の目的のために、新しい TeamCity ビルド構成を追加することでした。

[Build & Package] 構成から Config VCS ルートを削除して、ビルド チェーンから切断し、[Get Config] 構成にアタッチしました。[Get Config] を実行すると、基本的には Config VCS から最新の config xml ファイルを取得し、バージョン管理されたアーティファクトとして保存します。

次に、 [Deploy to TEST] から [Get Config] に新しいアーティファクト依存関係を追加し、「最後に成功したビルド」からアーティファクトを取得するように構成しました。したがって、[Deploy to TEST] は、ビルド チェーンに影響を与えたり、パッケージのバージョンを歪めたりすることなく、直前に変更を加える必要がある場合でも、常に最新の構成を使用して実行されます。

もう 1 つの利点は、[カスタム ビルドの実行] ダイアログを使用して無意識のうちに構成を台無しにしてしまった場合、元に戻って古い [構成の取得] ビルドを使用して、既知の適切な構成でデプロイを実行することです。

于 2013-10-06T21:00:31.883 に答える