您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

您如何将特定的工件从Jenkins部署到Nexus?

您如何将特定的工件从Jenkins部署到Nexus?

这是我想出的丑陋的骇客。如果有人有更好的主意,我会很乐意为其他人提供“正确”的答案:

我意识到我需要同时部署父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}

就像我说的,这是一个丑陋的骇客。我很确定有些元数据文件没有更新,但是rpm,pom和它们的校验和都已上传

其他 2022/1/1 18:15:06 有600人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶