【问题标题】:How can i make my curl command work in gitlab-ci?我怎样才能让我的 curl 命令在 gitlab-ci 中工作?
【发布时间】:2020-09-17 04:32:00
【问题描述】:

我在 gitlab-ci 作业中使用 curl 将工件上传到 Nexus 命令如下(在脚本部分下的.gitlab-ci.yml中定义)

cmd /c curl -v -u $env:USERREG:$env:PASSREG --upload-file $env:BINFILE $env:NEXUS_REGISTRY/$env:REPONAME$env:BINFILE

当然,所有变量都在 .gitlab-ci.yml 文件中声明,除了我使用 gitlab GUI 声明的 USERREG 和 PASSREG。

请注意,我正在使用: - 带有 docker-windows 执行器的 Gitlab Runner - 用于执行上述命令的 Windows docker 容器

问题:作业堆积要求用户(由 USERREG 定义)密码 (PASSREG),直到作业因超时而终止。

如何解决这个问题?谢谢。

【问题讨论】:

  • 显示的消息是`输入用户'某个名称`的主机密码:
  • 您是否在 nexus 上使用基本身份验证?
  • 是的,我使用基本身份验证
  • 可能是转义问题。你的密码有特殊字符?尝试直接在这个作业上写密码
  • 我有base64密码,我直接测试了密码

标签: powershell docker curl gitlab-ci gitlab-ci-runner


【解决方案1】:

我不确定这是否是您的问题,但请检查并参考您设置的 GitLab 变量(USERREG 和 PASSREG)。如果它们是受保护的变量,这意味着它们将仅在“受保护”分支上可用,并且如果您从非受保护分支推送它,这可能会使您进入当前状态,因为上述变量不可用。

如果是这种情况,只需将它们设置为不受保护而是被屏蔽就可以了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-01-22
    • 2011-04-26
    • 1970-01-01
    • 1970-01-01
    • 2015-04-02
    • 1970-01-01
    • 2012-02-10
    相关资源
    最近更新 更多