Gradle CI Gitlab CURL 文件路径无法加载

Posted

技术标签:

【中文标题】Gradle CI Gitlab CURL 文件路径无法加载【英文标题】:Gradle CI Gitlab CURL file path can't be loaded 【发布时间】:2021-01-15 07:47:44 【问题描述】:

我正在 Gradle CI .yml 文件中使用 CURL 设置上传。我不熟悉 CURL 语法,所以我的文件路径总是失败。

我在作业开始时在我的项目文件夹中启动了一个 repo,我的工件位于 app/build/outputs/apk/debug/app.apk 路径。

当我在终端中转到 app/build/outputs/apk/debug 并执行我的 curl 脚本时,它按预期工作,但路径解析在 CI 处失败。

有人可以建议如何修复 curl 块中的路径吗?

我现在拥有的:

- |
      curl \
        -A "GitLab CI" \
        -F api_key="$TEST_FAIRY_KEY" \
        -F comment="GitLab Pipeline build $CI_COMMIT_SHA" \
        -F file=@app\\build\\outputs\\apk\\debug\\app.apk \
        https://upload.testfairy.com/api/upload/

这是我在工作日志中得到的:

$ curl \ # 折叠的多行命令 322警告:设置文件 app\build\outputs\apk\debug\app.apk 失败! 323 % Total % Received % Xferd 平均速度 时间 时间 时间 当前 324 Dload 上传总花费的左速度 325100 497 0 0 0 497 0 1813 --:--:-- --:--:-- --:--:-- 1813 326curl: (26) 读取函数返回有趣的值

【问题讨论】:

【参考方案1】:

在尝试了路径后,我发现它应该与\/ 分开,第一个\ 用于转义下一个/。所以工作路径是

-F file=@app\/build\/outputs\/apk\/debug\/app.apk \

【讨论】:

以上是关于Gradle CI Gitlab CURL 文件路径无法加载的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 JAVA_OPTS 在 gitlab-ci.yaml 中设置 Gradle 代理变量

Gitlab CI/CD 如何在管道中捕获 curl 响应

Gitlab CI/CD 通用包文件过期时间

Gradle bootBuildImage 使用 docker:dind 服务在 GitLab CI/CD 中失败并显示“未找到摘要”

自托管gitlab CI / CD推送注册表到ECS服务

如何从 GitLab CI 管道的工作发送电子邮件?