web-dev-qa-db-ja.com

TFSオンラインでビルド後に成果物フォルダーにアクセスする方法は?

PreInfo:.net core web api(vs2015)と通常のプロジェクトが混在しています。

これを機能させて検索するためにほぼ2日間を費やし、考えられるすべてを試しましたが、TFSのビルドとリリースをオンラインで一緒にプレイすることはできません。

ビルド(アーティファクトの公開ステップ)には、「Directory 'D:\ a\1\a'は空です。ビルドアーティファクト 'drop'には何も追加されません。

しかし、「ドットネットを実行する」ステップは言う

「D:\ a\1\s\Operator\MobileService\root\MobileService\src\AMP.Operator.MobileService\bin\release\net452\win7-x64\publishに公開」

... soそれはどこかになければなりませんリリースはそれを拾うことができますが、私が何をしようとしても拾うことができません。

これが私のビルド設定です My build

dotnet run dotnet run

公開 the publish

そして、$(System.DefaultWorkingDirectory)/ MobileService-Devを使用して、ビルドの$(build.artifactstagingdirectory)のすべてのコンボを試したことに注意してください運なしに公開するが、これはビルドの公開フォルダを指しているはずです realse

誰かが解決策を教えてくれることを願っています。この作品を作るのがどれだけ難しいか、私には理解できません。

30
Sturla

ビルド定義内で、_Copy Files_ステップを実行する前に、ビルドアーティファクトステージングディレクトリにmsbuild結果からビルドアーティファクトをコピーする_Publish Artifact_ステップを追加することをお勧めします。

  • ソースフォルダー:$(Build.SourcesDirectory)
  • 内容:**\bin\$(BuildConfiguration)\**
  • ターゲットフォルダー:$(Build.ArtifactStagingDirectory)

Copy Files Task

$(BuildConfiguration)変数は定義に対してカスタムであり、おそらくDebugまたはReleaseであると想定しています。 Run dotnetステップが何をするのか正確にはわかりませんが、セットアップしたこのビルド定義はビルドアーティファクトを正しく公開しました。実行中のビルドアーティファクトの発行ステップは、有効なコントロールオプションがEnabledのみであることを除いて、あなたと同じステップを持っています。

また、TFS 2015 update 2を実行しています。

20
Toomaja

単に見たいだけなら、ファイルをダウンロードできます。ビルドに移動し、[アーティファクト]タブをクリックして、次に示すようにダウンロードします。

enter image description here

6
Trevor

Dotnet publishコマンドの出力引数(--output/-o)を指定する必要があります。引数:

Publish -c $(BuildConfiguration) -o $(Build.ArtifactStagingDirectory)

ところで:あなたは「ドットネットを実行」ステップが「D:\ a\1\s ....に公開」と言った、ファイルはD:\ a\1\sにあり、D:\ a\1にはファイルがない\ a(1つはsで、もう1つはaです)。

4