这是我想出的丑陋的骇客。如果有人有更好的主意,我会很乐意为其他人提供“正确”的答案:
我意识到我需要同时部署父pom.xml和程序集。我在两个单独的后期构建步骤中进行了此操作。
首先,我选择了带有“ Maven”的Maven版本的“调用顶级Maven目标”(我认为这使用的是Jenkins版本的maven。我不想在系统上放置其他版本)。我使用了以下目标:
-s svn-admin/settings.xml -N deploy
这将使用我指定的settings.xml将父pom部署到nexus。
当我想部署rpm时,确实发生了很大的变化。我尝试了“部署文件”目标,但是如果没有变量,我可以扩展到版本号,我无法指定确切的文件,而通配符也不会扩展。相反,我做了一个“ Execute shell”选项,并使用了在这里找到的curl :
env
UPLOAD_FILE=assembly/target/ips-${POM_VERSION}-x.x86_64.rpm
DESTINATION=http://mvnrepo01/nexus/content/repositories/releases/com/bla/ips/assembly/${POM_VERSION}/assembly-${POM_VERSION}.rpm
sha1sum ${UPLOAD_FILE} | awk -F" " '{print $1}' | curl -v -u admin:password --upload-file - ${DESTINATION}.sha1
md5sum ${UPLOAD_FILE} | awk -F" " '{print $1}' | curl -v -u admin:password --upload-file - ${DESTINATION}.md5
curl -v -u admin:password --upload-file ${UPLOAD_FILE} ${DESTINATION}
UPLOAD_FILE=assembly/pom.xml
DESTINATION=http://mvnrepo01/nexus/content/repositories/releases/com/bla/ips/assembly/${POM_VERSION}/assembly-${POM_VERSION}.pom
sha1sum ${UPLOAD_FILE} | awk -F" " '{print $1}' | curl -v -u admin:password --upload-file - ${DESTINATION}.sha1
md5sum ${UPLOAD_FILE} | awk -F" " '{print $1}' | curl -v -u admin:password --upload-file - ${DESTINATION}.md5
curl -v -u admin:password --upload-file ${UPLOAD_FILE} ${DESTINATION}