写点什么

一键部署 Java 构件到 Nexus,同事见了都说好

作者:Jianmu
  • 2022 年 6 月 06 日
  • 本文字数:1397 字

    阅读完需:约 5 分钟

一键部署Java构件到Nexus,同事见了都说好

介绍

继上一篇博客「开源人的福音」一键部署Java构件到Sonatype发布后,得到了很多小伙伴们的关注,我趁热打铁推出了它的姊妹篇一键部署Java构件到Nexus,同事见了都说好,有别于上一篇,此篇博客介绍了如何将 java 构件部署到私服。

日常工作时,出于保密性、开发便捷性等需求,我们可能需要将 java 构件部署到公司的 Nexus 中。我们可能希望部署 java 构件的操作是 CI/CD 中的一环。

一般来说必须具备

  • 以下环境:jdkmaven

  • 以下配置

    java 项目的 pom.xml 中有相关 Nexus 配置,比如,distributionManagement

    maven 的全局配置,比如,server

现在建木 CI 有了自动化部署 java 构件到 Nexus 的节点,这一切都将变得非常简单

  • 无需配置相关环境

  • 无需有相关配置


准备工作

1、安装 sonatype nexus

docker pull sonatype/nexus3# 启动sonatype nexus并使其监听8081端口docker run -d -p 8081:8081 --name nexus sonatype/nexus3
复制代码


访问搭建的 Nexus,可以看到如下界面,那么 Nexus 搭建成功



2. 挑选节点

建木 CI 是一个节点编排工具,那么我们需要挑选合适的节点完成一系列的业务操作

  • git clone 节点

使用 git clone 节点,将我们需要部署的 java 项目从 git 仓库上拉取下来。git clone 节点的版本,我们选择最新版的1.2.3

如下图:访问建木 Hub 可以查看节点详细信息,比如,git clone 节点的参数,源码,版本说明等信息



  • sonatype 节点

使用 sonatype 节点,将构件部署到 Nexus,目前仅支持使用 maven 工具管理的项目发布到中央仓库,版本为1.0.0-maven3.8.5_jdk11

如下图查看此节点的详细信息:



3. 编排流程

节点选好了,得把它们编排在一起,目前建木 CI 提供了两种方式来编排节点:

  1. 使用建木 CI 的 DSL 来编排节点

  2. 使用建木 CI 图形化编排功能来编排节点

此次我们使用图形化编排功能编辑此测试流程(ps:图形化编排是建木 CI 2.4.0 推出的重磅级功能,详见「v2.4」千呼万唤的图形化编排,来了!

首先编辑项目信息



从左边抽屉中将所需的两个节点拖拽出来



填充节点参数

填充参数之前,将两个节点连起来,如图:这个箭头可以完成的功能有:

 1.定义流程运行先后顺序

 2.将上游节点的输出参数输出到下游节点,这里的 git clone 节点输出参数将被输   出到 sonatype 节点



点击节点图标开始填充参数

  • git clone 节点

这里我们配置一个需要部署的 java 项目的 git 地址即可



  • sonatype 节点

同样配置此节点的必需参数



sonatype 节点的项目目录参数引用了 git clone 节点的输出参数(git clone 作为上游节点将它的输出参数作为 sonatype 的输入参数传递给 sonatype 节点),下图演示了下游节点如何选择上游节点的输出参数作为自己的输入参数



  1. 项目目录:需要部署的项目路径

  2. 仓库路径:想要部署到哪个仓库

  3. 用户名:Nexus 的用户名

  4. 密码:Nexus 的密码



sonatype 节点的项目目录参数引用了 git clone 节点的输出参数(git clone 作为上游节点将它的输出参数作为 sonatype 的输入参数传递给 sonatype 节点),下图演示了下游节点如何选择上游节点的输出参数作为自己的输入参数



部署 java 构件到 Nexus

启动流程

如下图启动流程



流程运行中



流程运行成功



查看每个节点的运行日志

  • git clone 节点:



  • sonatype 节点



在 Nexus 中查看部署的 java 构件



至此,我们已经使用建木 CI 成功将 java 构件部署到了 Nexus 上!


说明

想必大家对图形化编排非常感兴趣,其实图形化编排流程底层也是生成了一个流程 DSL,如果想参考本次测试流程具体生成的 DSL,可以点击左下角阅读原文-滑到博客底部进行点击浏览。


本文为建木博主「freedom」的原创投稿文章,转载请联系授权。


项⽬官⽹

项⽬托管

在线示例

用户头像

Jianmu

关注

国产开源CI/CD产品 2020.08.10 加入

建木持续集成平台基于建木,致力于为国内开发者与DevOps人员提供极致用户体验,提升开发、上线、运维的效率,让软件用户专注于提供业务价值。

评论

发布
暂无评论
一键部署Java构件到Nexus,同事见了都说好_后端_Jianmu_InfoQ写作社区