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/
微信赞赏支付宝赞赏
发表评论