1

コンパイルしたアセンブリを QA に展開してテストする方法を実装しようとしています。各リポジトリには、プロジェクトとソース コードを含むフォルダーと、それらのプロジェクトから生成されたコンパイル済みアセンブリを含むフォルダーが含まれています。以下の画像は、私のソース リポジトリのワークスペースを表しています。

ソース リポジトリ

開発ユーザー グループと QA ユーザー グループもあります。Development ユーザー グループには、ソース リポジトリに対する完全なアクセス許可があります。

目標を達成するためにいくつかの異なる方法を試しましたが、ほとんどまたはまったく成功しませんでした。

Assemblies という名前の新しいリポジトリを作成し、ソース リポジトリに Xlink を追加してから、Assemblies フォルダーを除いて、ソース リポジトリ内のすべてのフォルダーとファイルに対する QA ユーザー グループへのすべてのアクセス許可を拒否しようとしました。ただし、QA ユーザー グループのメンバーとして Plastic にログインすると、すべてのソース ファイルをダウンロードできます。

また、QA ユーザー グループのメンバーとしてソース リポジトリに直接アクセスしようとしましたが、利用できないはずのファイルにまだアクセスできます。

チェックイントリガーを検討しています。トリガーは、ソース リポジトリのメイン ブランチにチェックインされるたびに、.exe および .dll をアセンブリ リポジトリに追加/チェックインします。ただし、正しい方向に向かっているかどうかはわかりません。採用すべき好ましい方法やベストプラクティスがすでにある場合、「車輪の再発明」はしたくありません。

任意の提案や参照をいただければ幸いです。

4

1 に答える 1

2

これは私の提案です。

すべてのバイナリを出力アーティファクトに配置するために、新しいリポジトリを作成します。外部の「サードパーティ」リポジトリに xlink する中央リポジトリで、新しい真新しい「Binaries」リポジトリへの新しい xlink を作成します。

ここで、ビルド システムを変更して、すべてのバイナリとアーティファクトをこの xlinked リポジトリにコピーする必要があります。(cm ci -a) コマンドは、変更されたすべてのバイナリをコミットし、最後に「cm label」コマンドで変更セットにラベルを付けます。このラベルは、QA チームが特定のリリースをテストするのに役立ちます。

中央リポジトリと「サード パーティ」リポジトリで QA Plastic SCM グループの表示権限を削除します。これで、QA グループは、ソース コード リポジトリの存在すら知ることはありません。QA グループには「Binaries」リポジトリと連携するワークスペースがあり、ソース コード/リポジトリは安全に隠され、この QA グループはアクセスできません。

外部サーバー/マシンに「バイナリ」リポジトリを配置することもできます。したがって、ソース コードは devMachine:8087 にあり、バイナリは別の Plastic SCM サーバー ("qaMachine:8087" など) にあります。この方法論を使用すると、QA Plastic ユーザーは専用サーバーを使用することになります。

于 2013-01-16T11:08:05.780 に答える