Jenkins实现maven项目构建jar包(成功后打tag标签)

一、需要确保jenkins所在服务器安装了java及maven环境

一般只要jenkins能运行说明java环境都是已经安装好了的,另外maven的安装可以使用jenkins自动安装

在jenkins的全局工具配置里,选择Maven,我选的是3.6.1版本,并给该版本取名为“maven3.6.1”实际根据项目情况选择,因为我是测的ruoyi前后端分离版本,3.6.1这个版本正好也是intellij IDEA用的版本。

这里选择保存应用后并不会立即下载maven,只有在你第一次构建有用到他的时候才会下载。

二、创建构建maven项目的任务

如果你新建项目时没有一个“构建一个maven项目”的选项,那么你需要在系统管理-插件管理-可选插件 里搜索安装插件Maven Integration plugin,选择插件后选择“Download now and install after restart”,然后在你的jenkins访问地址后面加上/restart即可重启。

安装好插件后,开始构建一个maven项目。

1、在源码管理内填写项目git仓库,构建时会使用凭据登录git并拉取代码。如果你jenkins服务器上还没有安装git需要安装下。

2、pre step这里可以添加一些shell命令,因为我后面用了构建成功后打标签的功能,这里需要配置下命令否则后面打标签会报错。

3、build选项,填写pom及mvn参数

4、构建后操作(这一步做不做都行,我这边是测试构建成功后进行了打tag标签)$BUILD_NUMBER是jenkins的构建id变量

三、开始执行构建任务

在jenkins主页的任务列表中选择任务并执行。

可以点开任务查看控制台输出

如果报以下错误,则可能需要在上面Pre Steps里面执行git全局配置。

Caused by: hudson.plugins.git.GitException: Command "git tag -a -f -m jenkins自动化标签 V1.0.7" returned status code 128:
stdout: 
stderr: 
*** Please tell me who you are.

Run

  git config --global user.email "you@example.com"
  git config --global user.name "Your Name"

to set your account's default identity.
Omit --global to set the identity only in this repository.

fatal: unable to auto-detect email address (got 'jenkins@bogon.(none)')

	at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:2681)
	at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:2611)
	at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:2607)
	at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommand(CliGitAPIImpl.java:1974)
	at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommand(CliGitAPIImpl.java:1986)
	at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.tag(CliGitAPIImpl.java:1853)
	... 11 more
Build step 'Git Publisher' marked build as failure
Finished: FAILURE

四、运行构建后的jar文件

构建成功的jar文件一般都在target目录里面,如果你的jar包是在jenkin服务器上运行的那么可以直接在构建任务Post Steps里面配置复制jar到目标文件夹及运行jar的脚本

#直接运行命令
java -jar /var/lib/jenkins/workspace/ruoyi/ruoyi-admin/target/ruoyi-admin.jar

查找指定jar包(这里以ruoyi-admin.jar为例),如果只是要列出进程可用 ps -ef|grep ruoyi-admin.jar|grep -v grep;查找运行的jar进程并结束:

ps -ef|grep ruoyi-admin.jar|grep -v grep|awk '{print $2}'|xargs kill -s 9

因为是前后端分离,这里只发布了后端,访问jenkins服务器ip端口显示正常。

基于互联网精神,在注明出处的前提下本站文章可自由转载!

本文链接:https://ranjuan.cn/jenkins-maven-jar-gittag/

赞赏

微信赞赏支付宝赞赏

发表评论