返回介绍

PART Ⅰ : 容器云OPENSHIFT

PART Ⅱ:容器云 KUBERNETES

PART Ⅲ:持续集成与持续部署

PART Ⅴ:日志/监控/告警

PART Ⅵ:基础

PART Ⅶ:数据存储、处理

PART VIII:CODE

PART X:HACKINTOSH

PART XI:安全

Nexus Platform Plugin

发布于 2024-06-08 21:16:47 字数 5084 浏览 0 评论 0 收藏 0

功能

一、安装

二、配置

系统管理--> 系统设置--> Sonatype Nexus

三、使用

上传构建后的制品到Nexus的Hosted类型仓库中

Job

Declarative Pipeline

```bash
stage ('上传制品') {
steps {
    script{
    //读取源代码中的POM文件,获取生成制品的maven坐标信息(Jenkins需要安装pipeline-utility-steps插件)
    def pomfile = readMavenPom file: 'pom.xml'
    //使用Nexus Platform插件上传maven制品到Nexus的maven格式release仓库
    nexusPublisher nexusInstanceId: 'curiouser-okd-nexus', \
                    nexusRepositoryId: 'Maven-Releases', \
                    packages: [[$class: 'MavenPackage', \
                                mavenAssetList: [[classifier: '', extension: '', \
                                filePath: "target/${pomfile.artifactId}-${pomfile.version}.${pomfile.packaging}"]], \
                                mavenCoordinate: [artifactId: "${pomfile.artifactId}", \
                                                groupId: "${pomfile.groupId}", \
                                                packaging: "${pomfile.packaging}", \
                                                version: "${pomfile.version}"]]]
    //拼接maven制品的搜索链接,该链接是以源代码POM文件中的maven制品坐标信息参数对nexus api进行搜索,返回的response会重定向到制品的下载链接
    echo "The Jar Format Asset of Maven have been pushed to Hosted Repository: Maven-Release. The Download URL of the Asset: http://nexus-nexus.apps.okd311.curiouser.com/service/rest/v1/search../assets/download?maven.groupId=${pomfile.groupId}&maven.artifactId=${pomfile.artifactId}&maven.baseVersion=${pomfile.version}&maven.extension=jar&maven.classifier"
    }
}
}
```

四、注意

如果Job再次构建,产生相同的Jar,上传信息还是一样的,Nexus的Release仓库需要设置为"允许Redeploy"。不然,仓库中已经相同版本信息的制品,会造成上传失败

参考链接

  1. https://support.sonatype.com/hc/en-us/articles/115009108987-Jenkins-Publish-Using-Maven-Coordinates-from-the-pom-xml
  2. https://www.jianshu.com/p/29403ecf7fc2
  3. https://stackoverflow.com/questions/37603619/extract-version-id-from-pom-in-a-jenkins-pipeline

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文