1

teamcity 6.5でアーティファクトを作成する際に実際に問題が発生している(オッズが発生した場合はビルドランナーとしてTFSとMSBuildを使用します。これは、SVNを使用しているように見える例と同じです...)。

チェックアウトルールを入力しない限り、ビルドは機能します。私がそれを理解した場合、それ自体がチェックアウトルール(?)に依存するいくつかのアーティファクトを設定する必要があります。

キックオフ方法以外は同じビルドが2つあります。1つはチェックイン時に開始されます。1つはTC内から手動で開始されます。このビルドはテストビルドです

アセンブリのバージョン番号は、ソリューション内のすべてのプロジェクトのリンクファイルである単一のversioninfo.csファイルから取得されます。このメソッドの詳細は次のとおりです: http: //www.codeproject.com/Articles/328977/The-Right-Way-to-Version-Your-Assembliesそしてバージョン番号を保持します:[assembly:AssemblyFileVersion( "9.1.0.0" )]

最終的に、テストビルドの出力を別の場所にコピーすることはできません。現状では、ビルドの唯一の出力は、teamcityデータディレクトリにあります。例:C:\ TeamCity \ buildAgent \ work \ ceaaf65dc87ff856 \ Project1 \ bin \ Debug C:\ TeamCity \ buildAgent \ work \ ceaaf65dc87ff856 \ Project2 \ bin \Debugなど

出力ファイル(exeとDLL)を、ビルドのビルド番号が記載されている出力フォルダーにコピーしたいのですが、引数として、上記のバージョン番号の場合、これはc:\ BuildServer_Output\SolutionNameになります。 \ 9.1.0.0

現在、実際に何かを実行するアーティファクトパスを作成することはできませんでした。つまり、どこにでも何かをコピーすることはできません。たとえば、アーティファクトパスがたくさんありますが、C:\ BuildServer_TestBuilds-+:Accounts \ bin \ debug * => C:\ BuildServer_TestBuilds +:BackOffice \ bin \ debug * => C:\BuildServer_TestBuildsには何も入れられません。

チェックアウトルールがないため、アーティファクトを取得していませんか(したがって、アーティファクトパスは無視されます)?

どんな助けでもいただければ幸いです。

4

1 に答える 1

1

アーティファクトとチェックアウトルールは完全に独立していると確信しています。アーティファクトは、構築されたものを処理するだけです。チェックアウトルールは、VCSの変更に対応してチェックアウトする方法をチームシティに指示します。

アーティファクトパスが絶対パスで始まっているようです。ワイルドカードを使用すると、相対パスを使用する方が簡単であることが常にわかりました。そうすれば、teamcityがビルドをどこに置くかを心配する必要はありません。以下を使用して、すべてのdllとexeを1つのフォルダーに移動します

**\bin\Debug\*.*=>deploymentdir

ビルド構成ページにはアーティファクトリンクがあり、開くと次のようになります。

deploymentdir\common\bin\debug\common.dll
deploymentdir\common\bin\debug\common.pdb
deploymentdir\runner\bin\debug\runner.exe

他のビルドの1つでは、msbuildスクリプトを使用して、アーティファクトプロセスを実行する前に出力をフラット化します。

チェックアウトルールを使用しますが、それらに対応するためにアーティファクトパスを変更する必要はありません。

于 2012-06-18T14:06:49.440 に答える