JFrog Artifactory: 5.8.4 Professional。
JFrog CLI: 1.12.1
我正在使用the official documentation of JFrog CLI来设置Artifactory回购中可用的工件上的几个属性。
Artifactory AQL
并尝试使用jfrog
cli使其正常工作。我成功配置了CLI客户端(文件~/.jfrog/jfrog-cli.conf
已成功创建,其中包含使用用户名/密码和API密钥进行身份验证的条目)。
要在工件上设置属性,请参考以下示例:
jfrog rt sp "generic-local/*.zip" "a=1;b=2,3"
并运行以下命令(在自由样式的Jenkins作业中):
$ jfrog rt sp --server-id="artifactory-dev-instance" --url=${ARTIFACTORY_URL} ${REPO}/${FILE_PATH}/${FILE_NAME} -- props="release=${RELEASE};VERSION=${VERSION};PIPELINE_VERSION=${RELEASE}_${VERSION}_${BUILD_NUMBER};fileType=automated-file;PROJECT=${PROJECT}"
此命令成功退出,没有给出错误,并应用了除第一个属性release=${RELEASE}
以外的所有具有预期值的属性。
问题:为什么jfrog rt sp
没有在工件上应用release
属性,而所有其他属性都已成功应用正确的值。
实际变量值无所谓,因为我可以看到其他属性已成功应用于给定的Artifactory实例(ARTIFACTORY_URL),目标文件(位于repo / path / file中)以及具有其值的各个属性。
答案 0 :(得分:0)
因此,这证明了它的真实性(jfrog
cli中的 bug 部分)。重新添加该第一个属性,即,将缺少的第一个属性添加两次,它适用于所有属性(包括第一个属性),同时提供要添加的属性。
现在release
属性也正在应用。
$ jfrog rt sp --server-id="artifactory-dev-instance" --url=${ARTIFACTORY_URL} ${REPO}/${FILE_PATH}/${FILE_NAME} -- props="release=${RELEASE};release=${RELEASE};VERSION=${VERSION};PIPELINE_VERSION=${RELEASE}_${VERSION}_${BUILD_NUMBER};fileType=automated-file;PROJECT=${PROJECT}"
或
$ jfrog rt sp --server-id="artifactory-dev-instance" --url=${ARTIFACTORY_URL} ${REPO}/${FILE_PATH}/${FILE_NAME} -- props="release=${RELEASE};VERSION=${VERSION};PIPELINE_VERSION=${RELEASE}_${VERSION}_${BUILD_NUMBER};fileType=automated-file;PROJECT=${PROJECT};release=${RELEASE}"