-1

私のチームは、コンパイラ ディレクティブを使用して、さまざまな段階 (デバッグ、テスト、リリース) 向けに製品のさまざまなバージョンを作成していますが、現在は CI/CD 戦略を移行したいと考えており、コンパイラ ディレクティブを使用することをお勧めします。ある構成用に作成されたアーティファクトを別の構成に使用することはできません。たとえば、CI サーバーはテスト構成でビルド プロセスを実行し、UI 自動テストを含むビルド プロセスのすべての段階に合格します。このプロセスで作成されたアーティファクトを使用することはできません。本番環境ではリリースを使用してアプリケーションをコンパイルする必要があるため、本番環境にデプロイされますしたがって、テストされていない成果物の新しいセットを作成して本番環境を展開します。これにより、私の意見では、新しく作成された成果物に対してテストを実行する必要があるため、前の段階で実行された作業が不要になります。

似たような状況にあった人はいますか? もしそうなら、チームでどのように対処しましたか? CI/CD 戦略に移行する場合、C# コンパイラ ディレクティブを使用することは良い考えですか?

4

1 に答える 1

0

2 年前にも同様の問題がありました。各環境 (DEV、QA、MOCK、PROD) 用にコードを再構築していましたが、環境間でチェックインが発生し、すべてのテストが無効になる場合がありました。CD ジャーニーを開始したとき、1 回ビルドして何度もデプロイするというシナリオに到達する必要があることはわかっていました。MSDeploy を使用してすべてのコードをデプロイしました。これには、Web サイト/サービス、Windows サービス、スケジュールされたタスク、および SQL データベースが含まれます。

すべての環境の違いを構成ファイルに配置し、MSDeploy のパラメーター化を介して変換を制御します。パラメータ化はデプロイ時に適用されます。セットアップは、パラメータ化する必要があるものを定義する parameters.xml ファイルと、各環境の SetParameters.[environment].xml ファイルとその環境に関連する値で構成されます。

于 2016-02-06T02:38:10.053 に答える