You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GitHub Actions中JFrog CLI配置404错误排查及Go制品推送方案

问题排查:GitHub Actions中JFrog CLI配置404错误

问题场景

尝试通过GitHub Actions推送Golang应用的Docker镜像和构建制品到JFrog Artifactory,在「Configure JFrog CLI」步骤持续报错:

Error: [Error] The following error was received while trying to encrypt your password: Artifactory response: 404  
Error: Process completed with exit code 1.

已知控制台登录需MFA,且已将JFROG_URL、用户及密码存储为GitHub Secrets。

核心原因

  • MFA限制:启用MFA的JFrog账号无法直接使用密码通过CLI配置,必须使用API密钥替代密码。
  • JFROG_URL格式错误:如果URL未指向Artifactory的正确端点(比如缺少/artifactory后缀),会导致404。
  • CLI配置逻辑问题:jfrog config add命令会尝试连接Artifactory获取加密密钥,若URL或凭证无效则返回404。

解决方案

1. 替换密码为JFrog API密钥

  • 登录JFrog控制台,进入个人设置(Profile Settings)→ API Key,生成并复制新的API密钥。
  • 在GitHub仓库的Secrets中,将JFROG_PASSWORD替换为这个API密钥。

2. 修正JFROG_URL格式

确保JFROG_URL指向Artifactory的根端点,正确格式示例:

https://mani.jfrog.io/artifactory

(必须包含/artifactory后缀,否则CLI无法定位正确的服务端点)

3. 优化JFrog CLI配置步骤

修改「Configure JFrog CLI」步骤,添加--interactive false跳过交互式配置,同时指定server-id(避免后续命令出错):

- name: Configure JFrog CLI
  run: |
    jfrog config add rt-server --url "${{ secrets.JFROG_URL }}" --user "${{ secrets.JFROG_USER }}" --password "${{ secrets.JFROG_PASSWORD }}" --interactive false

4. 修正Go制品推送命令

原jfrog gp命令参数不符合语法,调整为标准的上传命令(确保目标仓库名称正确):

- name: Deploy Go artifact to JFrog Artifactory
  run: |
    echo "Publishing Go package to JFrog Artifactory"
    jfrog rt upload mit-sphere mit-sphere-new-go/1/ --server-id rt-server

(mit-sphere-new-go为目标仓库名,1为版本路径,可根据实际需求调整)

5. 可选:使用JFrog官方Action简化流程

替换手动安装CLI和配置的步骤,使用官方Action更稳定:

- name: Setup JFrog CLI
  uses: jfrog/setup-jfrog-cli@v4
  env:
    JF_URL: ${{ secrets.JFROG_URL }}
    JF_USER: ${{ secrets.JFROG_USER }}
    JF_PASSWORD: ${{ secrets.JFROG_PASSWORD }}

内容的提问来源于stack exchange,提问作者Raj

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 18:23:19