【问题标题】:Bitbucket Pipelines not uploading the file to the "Downloads" pageBitbucket Pipelines 未将文件上传到“下载”页面
【发布时间】:2017-12-01 11:31:39
【问题描述】:

所以我一直在尝试将我的构建工件从 Bitbucket Pipelines 直接上传到 Bitbucket 下载页面。

我的构建过程会生成一个包含所有工件的 .tar 文件,然后我尝试通过 curl 上传它。 curl运行,它甚至显示进度,并且管道成功结束。

这是卷曲和结果:

curl -X POST https ://${BB_AUTH_STRING}@api.bitbucket.org/2.0/repositories/mycompany/myrepository/downloads --form files=@"artifact.tar"
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                             Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100 1890k    0     0  100 1890k      0  11.0M --:--:-- --:--:-- --:--:-- 10.9M

我尝试使用存储库名称的变量并仅使用原始值。不管怎样,结果都是一样的。构建成功,但下载页面仍然是空的。你能帮我解决这个问题吗?

编辑:刚刚找到原因。问题是 curl 默默地失败了。我添加了一个-v 标志,发现我遇到了身份验证问题。所以,对于 curl 有问题的人,请不要忘记添加-v(这应该是我尝试的第一件事)。

【问题讨论】:

    标签: curl bitbucket bitbucket-api bitbucket-pipelines


    【解决方案1】:

    我也遇到了这个问题。我使用这个命令让它工作了:

    curl -s -u "${BITBUCKET_REPO_OWNER}:${BB_AUTH_STRING}" -X POST "https://api.bitbucket.org/2.0/repositories/${BITBUCKET_REPO_OWNER}/${BITBUCKET_REPO_SLUG}/downloads" -F files="@${ARTIFACT_NAME}" --verbose
    

    在我的例子中,ARTIFACT_NAME 是我上传的文件的名称。请注意,文件名在命令中以@ 为前缀。正在上传的目录中的文件名与 ARTIFACT_NAME 匹配。

    我还发现将用户名和密码拆分为命令的-u 部分很重要。出于某种原因,当将它们包含在 url 中以发布喜欢文档状态时,我无法使其正常工作。

    此页面上有完整的详细信息,但是他们提供的命令对我不起作用。

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

    【讨论】:

      猜你喜欢
      • 2017-11-19
      • 2017-06-16
      • 2023-04-04
      • 2020-04-02
      • 2019-06-28
      • 2012-06-13
      • 1970-01-01
      • 2010-09-27
      • 1970-01-01
      相关资源
      最近更新 更多