【问题标题】:Deploying bitbucket artifact to downloads将 bitbucket 工件部署到下载
【发布时间】:2020-04-02 08:51:54
【问题描述】:

我已尝试将测试覆盖率结果从管道上传到下载。
我将结果作为工件文件夹 (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 下载?

【问题讨论】:

    标签: curl bitbucket bitbucket-pipelines


    【解决方案1】:

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

    选项 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"
    

    【讨论】:

    • 这对我有用,但我也安装了 zip 命令,如下所示:- apt-get update && apt-get install --yes zip。没有这个,我找不到 zip 命令。
    猜你喜欢
    • 1970-01-01
    • 2016-04-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-01
    • 2016-03-08
    • 1970-01-01
    相关资源
    最近更新 更多