web-dev-qa-db-ja.com

Bitbucket-Pipelinesでアーティファクトを保存する方法

私は竹が初めてです。私がやろうとしているのは、ビルドプロセス中に作成されたすべての.dacpacファイルを収集することです。

image: Microsoft/dotnet:latest
pipelines:
 default: 
 - step: 
 script: # Modify the commands below to build your repository. 
 - cd BackgroundCode 
 - dotnet restore 
 - dotnet run 
 artifacts: 
 - '../**/*.dacpac'

ディレクトリ構造は次のようになります

'agent/build/Projects/[Projectname]/[Projectname] .dacpac'。

パイプラインの出力は言う

正常に生成されたZipアーカイブ/ opt/atlassian/pipelines/agent/build/Projects/[ProjectName]/[ProjectName] .dacpac

つまり、ビルドプロセス中に実際に生成されたファイルがあります。私は何か間違ったことをした?いいえの場合、それらのアーティファクトはどこにありますか。

8
Patrick Spiegel

残念ながら、ドキュメントによると、パイプラインの実行後にすべてのアーティファクトが削除されます。

https://confluence.atlassian.com/bitbucket/using-artifacts-in-steps-935389074.html

「パイプラインが完了すると、成功するか失敗するかにかかわらず、アーティファクトは削除されます。」

ただし、アーティファクトをBitbucketダウンロードセクションまたはその他の場所にデプロイできます。

https://confluence.atlassian.com/bitbucket/deploy-build-artifacts-to-bitbucket-downloads-872124574.html

- step:
    name: Archive
    script:
      - curl -X POST --user "${BB_AUTH_STRING}" "https://api.bitbucket.org/2.0/repositories/${BITBUCKET_REPO_OWNER}/${BITBUCKET_REPO_SLUG}/downloads" --form files=@"something/**"
5
Georg Moser

Bitbucket-pipelines.ymlでは、別の「step:」に進むと、ほとんどすべてがリセットされ、前のステップとは独立して動作します。これは必ずしも明白ではなく、混乱を招く可能性があります。

前の手順では、cd BackgroundCodeを使用してサブフォルダーに移動しました。 スクリプトが「artifacts:」ステップに進むと、現在の作業ディレクトリは元の$BITBUCKET_CLONE_DIRにリセットされます。したがって、各ステップで再度cd BackgroundCodeするか、次のように $BITBUCKET_CLONE_DIRに対して のパスを使用する必要があります。

artifacts:
 - BackgroundCode/**/*.dacpac

または

step2:
 - cd BackgroundCode
 # List the files relative to the 'BackgroundCode' directory
 - find . -iname '*.dacpac'

これにより、アーティファクトが自動的に(7日間)保存され、上部の[アーティファクト]タブに表示されます。

2
Mr-IDE