Jenkins – 使用Maven构建Java应用程序
1. 添加git凭据
若安装Jenkins时安装的推荐插件,git已经默认安装了,我们添加git凭据:
- 系统管理(Manage Jenkins)->- Manage Credentials->- 全局->- 添加凭据。- 类型选择SSH Username with private key,往下滑到Private Key,并勾选Enter directly,在Enter directly的key区域点击Add,粘贴本机git私钥,点击确定。
- 类型选择Username with password,填写git用户名和密码,点击确定。
 
- 类型选择
本机Git私钥获取:
[root@localhost ~]# cat .ssh/id_rsa
git公钥私钥生成详细细节参考物理机安装CentOS 8.0的安装配置Git。
2. Jenkins配置Maven与Publish Over SSH插件
- 在插件管理搜索Maven,找到Maven Integration并勾选,然后点击直接安装。
- 接下来同样方法安装Publish Over SSH插件(用来通过ssh命令发送Maven的构建)。
- 配置全局变量,添加要部署的远程用户:
- 系统管理(Manage Jenkins)-> 点击- Configure System-> 往下滑到- SSH Server;
- 在SSH Servers这里点击新增,填写用户信息(Name:此配置名,HostNmae:要连接的SSH主机名或IP地址,UserName:远程用户名);
- 点击高级配置密码,勾选Use password authentication, or use a different key,在Passphrase / Password输入远程用户密码;
- 点击Test Configuration测试能否连通,最后点击保存。
 
- 配置mavne的jenkins本地仓库:
- 系统管理(Manage Jenkins)-> 点击- Configure System-> 找到- Maven项目配置;
- Local Maven Repository-> 选择- Local to the workspace->- 保存。
 
- 全局工具配置:
- 系统管理(Manage Jenkins)-> 点击- Global Tool Configuration;
- Maven配置->- 默认setting/全局setting选择- Settings file in filesystem-> 填写本机安装Maven的setting路径,如- /usr/local/apache-maven-3.6.3/conf/settings.xml
- JDK->- JDK安装->- 新增JDK->- JAVA_HOME填写java安装目录,如- /usr/lib/jvm/java-openjdk
- Git->- Git installations->- Path to Git executable填写- /usr/bin/git(可用which -a git查看)
- Maven->- Maven安装->- 新增Maven->- MAVEN_HOME填写Maven安装目录,如- /usr/local/apache-maven-3.6.3
 
3. 使用Maven构建Java应用程序
- 新建Item, 输入任务名称,选择Maven项目,点击“确定”
- 源码管理,选择Git,填写仓库地址(Repository URL)和选择凭据(Credentials)
- 构建环境,勾选Add timestamps to the Console Output,加上时间戳
- Build,Goals and options根据自己情况自行修改:clean package -pl demo -am -Dmaven.test.skip=true -P beta- -pl 选项后可跟随{groupId}:{artifactId}或者所选模块的相对路径(多个模块以逗号分隔),这里只想打包demo模块
- -am 表示同时处理选定模块所依赖的模块
- -P 打包的环境
 
- Post Steps,发布步骤,这里可以选择执行shell脚本Execute shell(发布到和Jenkins是同一台服务器),Send files or execute commands over SSH(不同服务器)。
4. Maven构建配置【Post Steps】
- 若发布到和Jenkins是同一台服务器,下拉框列表选择Execute shell,然后填写shell脚本;
- 若不在同一服务器,下拉框选择Send files or execute commands over SSH,配置SSH Server- Source files填写Maven本地打包后Jar包路径,如:- target/demo-0.0.1-SNAPSHOT.jar
- Remove prefix去除前缀,如:- target/
- Remote directory拷贝到Linux服务器的路径,如:- /home/jenkins/test
- Exec commandJar包拷贝后,执行脚本运行Jar包。
 
- shell脚本详情(填写时去掉注释):
#后台执行
BUILD_ID=DONTKILLME
# 进入到项目
cd /home/jenkins/test
# 找到原进程,kill
Project_name=test
pid=$(ps -ef | grep java| grep $Project_name|awk -F '[ ]+' '{print $2}')
kill -9 $pid
# 启动jar
nohup java -jar $Project_name.jar > run.txt &
END .
相关系列文章
- 环境配置 -- RocketMQ安装并整合SpringBoot
- 环境配置 -- Nginx常用配置详解
- Shell基础 -- Shell脚本部署Java应用
- Shell基础 -- Shell 文本处理
- Shell基础 -- Shell 函数的用法
- Shell基础 -- Shell 变量的用法与数学运算
- Shell基础 -- Shell 编程入门
- 环境配置 -- Linux常用命令整理
- Jenkins -- Jenkins自动部署Jar到远程服务器
- Jenkins -- 使用Maven构建Java应用程序
- Jenkins -- 声明式流水线Jenkins Pipeline
- Jenkins -- 安装Jenkins(Linux环境centos)
- 环境配置 -- Redis与MySQL多实例配置