Jenkins--pipline 流水线部署Java后端项目
2021-03-29 18:27
标签:lin 地址 编写 测试 邮件 写在前面 设置 部署 软连接 之前我的博客里面写过Jenkins自动化部署Java项目,可参考博客 https://blog.51cto.com/13760351/2382103 1.安装配置好maven打包插件 maven 安装及配置参考 https://blog.51cto.com/13760351/2381229 注意: 安装maven要先安装jdk, 如果系统有openjdk需要先卸载,Jenkins可以使用自己安装的jdk,但需要设置! 代码上传gitlab参考 https://blog.51cto.com/13760351/2526052 vim /etc/hosts 2,3,4步都在Jenkins服务器上面操作 ssh-keygen ssh-copy-id -i .ssh/id_rsa.pub root@tomcat ssh root@tomcat java 命令不识别 ln -s /usr/local/java/bin/java /usr/bin/java 无法远程发送war包 1.重新做免密交互 构建测试:还是出现相同报错 分析原因:由于推送的公钥是root用户的,而Jenkins操作是Jenkins用户执行,所以用户权限不一样,导致的。 给Jenkins用户授权或使用root用户操作Jenkins,这里修改为使用root用户操作Jenkins(线上环境建议给Jenkins用户授权) vim /etc/sysconfig/jenkins systemctl restart jenkins 结果:成功解决问题 1.由于我是使用实验环境部署的,线上环境需要做防火墙策略。 1.构建之前要安装好相关插件,准备好代码及gitlab Jenkins--pipline 流水线部署Java后端项目 标签:lin 地址 编写 测试 邮件 写在前面 设置 部署 软连接 原文地址:https://blog.51cto.com/13760351/2527263
这里写的是使用流水线部署java后端项目。实验环境
ip地址
角色
部署的软件
192.168.0.117
Jenkins 服务器
Jenkins、maven、jdk、git
192.168.0.120
Tomcat 服务器
gitlab、git、mysql、Tomcat、jdk
2.安装好gitlab仓库,及本地Java代码上传gitlab
3.CentOS 7系统,可连接外网
4.关闭防火墙,增强性实验步骤
1.安装打包工具--maven
vim /etc/init.d/jenkins candidates="
/usr/local/java/bin/java #插入自己安装java路径
/usr/java/jdk1.7.0_75/bin/java
/etc/alternatives/java
/usr/lib/jvm/java-1.8.0/bin/java
/usr/lib/jvm/jre-1.8.0/bin/java
/usr/lib/jvm/java-1.7.0/bin/java
/usr/lib/jvm/jre-1.7.0/bin/java
/usr/bin/java
"
2.代码仓库gitlab准备
3.jenkins服务器和Tomcat服务器免密交互
1.修改2台服务器hosts文件
在末尾加入:192.168.0.117 jenkins
192.168.0.120 tomcat
2.生成ssh key
3.将ssh公钥发送tomcat服务器
4.免密登录测试
4.Jenkinsfile编写
pipeline {
agent {
node {
label ‘master‘
}
}
//拉取代码
stages {
stage(‘GetCode‘) {
steps {
sleep 5
}
}
//打包
stage(‘build‘) {
steps {
sh ‘/usr/local/apache-maven-3.6.3/bin/mvn clean install -Ptest‘
sleep 2
println(‘打包完成!‘)
sh ‘scp -r /var/lib/jenkins/workspace/maven-gitlab-quartz/target/*.war root@tomcat:/usr/local/apache-tomcat-8.5.16/webapps ‘
sleep 1
println(‘部署完成!‘)
}
}
}
}
5.构建测试
出现问题1:
解决方案
1.重新设置环境变量
2.建立软连接
3.构建测试
4.结果:成功解决问题
出现问题1
解决方案
2.在本地测试shell环境测试
scp -r /var/lib/jenkins/workspace/maven-gitlab-quartz/target/quartz.war root@192.168.0.120:/test
最终解决方案:
1.修改配置文件
2.重启Jenkins(一定要重启)
3.再次构建测试:
5.项目测试
后续优化:
2.jenkinsfile 还可以添加构建后操作,比如发送邮件等。
3.发布项目部分,可以单独写一份脚本,内容包括备份war包,重启服务等。总结
2.遇到构建报错不要慌,看报错日志,再去解决问题
上一篇:二.初次使用SpringMVC
文章标题:Jenkins--pipline 流水线部署Java后端项目
文章链接:http://soscw.com/index.php/essay/69632.html