【发布时间】:2018-03-05 20:55:25
【问题描述】:
我有一个 jenkins 构建,它生成一个 rpm,这个 rpm 使用以下命令部署到 nexus oss repo 进行存储。
mvn deploy:deploy-file -DgroupId=com.company.app.rpm.snapshot -DartifactId=$RPM_NAME -Dversion=$RPM_VERSION -DgeneratePom=true -Dpackaging=rpm -DrepositoryId=ReleaseCandidate -Durl=${NEXUS_URL}/ReleaseCandidate -Dfile=$rpm
这很好用。目前这是这样设置的,当 tfs-git 上的主分支创建一个 rpm 时,它会使用此命令发送到 Nexus OSS。
但我现在想做的是让每个功能分支也能做到这一点。我想获取功能分支名称以及生成该 rpm 的 jenkins 构建号,它也是 nexus oss 中 rpm 的一部分。为此,我尝试编辑 artifactId=$RPM_NAME 并将其设置为
-DartifactId=${BRANCH_NAME}_${BUILD_NUMBER}_${RPM_NAME}
但显然这种格式是不允许的,它会抛出错误
'artifactId' with value 'branchname_18' does not match a valid id pattern.[ERROR] -> [Help 1]
我需要你们的建议。我怎样才能使分支名称和构建在 nexus 存储库中不可用,以及为该分支生成的 rpm 和相应的内部版本号。
提前非常感谢!!!!
【问题讨论】:
标签: jenkins build jenkins-pipeline nexus rpm