将 bitbucket 工件部署到下载

Deploying bitbucket artifact to downloads

我已尝试将测试覆盖率结果从管道上传到下载。
我将结果作为工件文件夹 (dir/**)。
我遵循了本指南: https://confluence.atlassian.com/bitbucket/publish-and-link-your-build-artifacts-872137736.html

所以我的 bitbucket-pipelines.yml 代码是:

pipelines:

default:
  - step:
      name: unit tests cover report
      image: aztec2docker/polymer-testing-docker
      artifacts:
        - unit-test-cover-report**
      script:
        - npm i
        - npm run test-cover
  - step:
      name: upload
      script:
        - curl -X POST --user "${BB_AUTH_STRING}" "https://api.bitbucket.org/2.0/repositories/${BITBUCKET_REPO_OWNER}/${BITBUCKET_REPO_SLUG}/downloads" --form files=@"unit-test-cover-report"

它适用于单个文件,但不适用于文件夹。
所以我的问题是: 如何将完整的工件文件夹上传到 bitbucket 下载?

有几种方法可以上传多个文件。

选项 1:从您的文件夹创建一个 ziptar.gz 存档并将此存档上传到下载。您可以使用 Bitbucket Pipe 上传文件:bitbucket-upload-file

- step:
    name: upload
    script:
      - zip report.zip unit-test-cover-report-folder
      - pipe: atlassian/bitbucket-upload-file:0.1.2
          variables:
            BITBUCKET_USERNAME: $BITBUCKET_USERNAME
            BITBUCKET_APP_PASSWORD: $BITBUCKET_APP_PASSWORD
            FILENAME: 'report.zip'

选项 2:您可以在单个 API 调用中上传多个文件,如 Bitbucket API docs:

中所述
- curl -X POST --user "${BB_AUTH_STRING}" "https://api.bitbucket.org/2.0/repositories/${BITBUCKET_REPO_OWNER}/${BITBUCKET_REPO_SLUG}/downloads" --form files=@"file-1" --form files=@"file-2"