Artifactory Docker Bitbucket流水线触发JFrog CLI参数错误
报错根因
- 日志中的参数报错,不是你配置的管道变量有问题,本质是
JfrogDev/artifactory-docker:0.2.12版本存在明确的脚本bug和兼容性缺陷:- 脚本没有把管道配置传入的
ARTIFACTORY_URL、ARTIFACTORY_USER、ARTIFACTORY_PASSWORD变量,正确映射为脚本内部引用的JFROG_URL、JFROG_USER、JFROG_PASSWORD环境变量,导致脚本执行时这三个环境变量的值为空 - 脚本硬编码调用的
jfrog rt config命令逻辑,和管道镜像内置的新版JFrog CLI解析规则不匹配,当接收的参数值为空时,CLI会直接判定参数结构不符合要求,抛出“Wrong number of arguments”报错
- 脚本没有把管道配置传入的
- 日志打印的命令中变量没有被替换为实际值,就是触发报错的直接表现:正常执行的命令应该携带具体的地址、认证信息值,空值替换后的残缺结构无法通过CLI的参数校验。
修复操作
- 校验Bitbucket仓库的CI/CD变量配置:确认
JFROG_URL、JFROG_USER、JFROG_PASSWORD三个变量的作用域覆盖当前构建分支,没有被设置为仅Pull Request可用、其他分支不可访问,同时排查三个变量是否误设为空字符串 - 替换存在兼容问题的管道版本,将原配置中的
JfrogDev/artifactory-docker:0.2.12修改为JfrogDev/artifactory-docker:1.9.1,该版本的管道脚本逻辑和内置JFrog CLI版本完全匹配,不会出现硬编码命令的参数解析错误 - 现有所有管道变量配置不需要做任何调整,你当前填写的仓库地址、认证信息、镜像标签、目标制品库参数,完全符合1.x版本管道的参数规范,替换版本后即可正常执行
内容的提问来源于stack exchange,提问作者Paul Bradbury
相关产品推荐
相关产品推荐

