2
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

[Azure Pipeline] テストやビルド結果のファイルをダウンロードできるようにする

Last updated at Posted at 2021-07-08

#経緯
E2Eテストをpipeline上で自動実行できるように実装した。
テスト結果はPublishTestResultsタスクやログから確認できるが、
エビデンスとして撮影したスクリーンショットはスクリプト終了時にpipelineエージェントとともに消え去ってしまう...
スクショなどのファイルをpipelineエージェントから取り出せるようにしたい。

Artifactとは

pipelineを実行した結果として出力されたファイル = 成果物 のこと。
↓のドキュメントではビルドで出力された.exeファイルやパッケージを指しているが、テスト結果のエビデンスとして出力した画像ファイルなどもアーティファクトとして扱える模様。

実装方法

ymlファイルにタスクを追加

      - task: CopyFiles@2
        inputs:
          Contents: |
            $(Build.SourcesDirectory)/evidence/**/*
          TargetFolder: '$(Build.ArtifactStagingDirectory)'

      - task: PublishBuildArtifacts@1
        inputs:
          PathtoPublish: '$(Build.ArtifactStagingDirectory)'
          ArtifactName: 'evidence'
          publishLocation: 'Container'

Build.ArtifactStagingDirectoryは発行前のアーティファクトを置いておくためのディレクトリ。
CopyFilesで準備し、publishBuildArticactsで発行する。

publishLocationは発行先のオプションでContainer(pipeline上)とFilePath(任意のパス)から選べるようだが、後者はwindowsエージェントのみ使用可能な模様。

今回はテスト結果の発行にPublishBuildArtifactsを使用しているが、名前的にビルド成果物のためのタスクのようなので、PublishPipelineArtifactを使うほうが良いかもしれない。

pipelineの実行結果画面からダウンロードする

実行結果画面のpublishedからダウンロードできるようになる。
image.png

microsoftのドキュメントを見ると、
 pipeline -> 外部 を「発行 publish」
 pipeline <- 外部 を「ダウンロード download」と表現している。
pipeline目線だとそりゃそうなのだが、私の場合「pipelineからファイルをダウンロードしたかった」ので「azure pipeline ファイル ダウンロード」などのワードで検索しており適切な資料を見つけるのに手間取ってしまった。

2
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?