[Azure Pipeline] テストやビルド結果のファイルをダウンロードできるようにする
経緯
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
からダウンロードできるようになる。
microsoftのドキュメントを見ると、
pipeline -> 外部 を「発行 publish」
pipeline <- 外部 を「ダウンロード download」と表現している。
pipeline目線だとそりゃそうなのだが、私の場合「pipelineからファイルをダウンロードしたかった」ので「azure pipeline ファイル ダウンロード」などのワードで検索しており適切な資料を見つけるのに手間取ってしまった。
Author And Source
この問題について([Azure Pipeline] テストやビルド結果のファイルをダウンロードできるようにする), 我々は、より多くの情報をここで見つけました https://qiita.com/haraken_qiita/items/d6b78ced25ea2fe8a33f著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .