linux 部署jenkins 和 配置springboot服务
准备环境我的是maven 工程,代码在gerrit 上,需要git,微服务框架springboot所有在主机上需要先装好:jdk1.8,maven,git,tomcat1. 在官网(https://jenkins.io/index.html)直接下载一个war包,然后直接放到tomcat的webapps目录下,启动tomcat就可以了2. 配置jenkins环境:jdk、maven、git系统配置
我的是maven 工程,代码在gerrit 上,需要git,微服务框架springboot
所有在主机上需要先装好:jdk1.8,maven,git,tomcat
1. 在官网(https://jenkins.io/index.html)直接下载一个war包,然后直接放到tomcat的webapps目录下,启动tomcat就可以了
2. 配置jenkins环境:jdk、maven、git
系统配置->Global Tool Coniguration
3. 安装插件
系统管理->管理插件
有在线方式 和 离线方式
在线方式:
点击 可选插件 选择你需要安装的插件
离线安装(连不了网的情况):
在http://updates.jenkins-ci.org/download/plugins/ 下载插件
举例git插件,搜索git,选择版本,下载git.hpi文件
在高级那里上传进行安装
4. git 配置
在linux 上生成id-rsa.pub,具体可以参考linux安装git中配置(里面的邮箱,换成jenkins里面crtical的用户名哦。否则会有问题)
5.部署到tomcat中
1. 安装插件: Deploy to container plugin
2. tomcat 配置修改
在tomcat目录conf文件夹下tomcat-users.xml
<role rolename="manager-gui"/>
<role rolename="admin"/>
<role rolename="manager"/>
<role rolename="manager-script"/>
<user username="jacky" password="admin" roles="manager-gui,admin,manager,manager-script"/>
3. 新建任务中配置
构建后操作中,选择Deploy wae/ear to a container
6. 部署springboot
Post steps 选择Run only if bulid success
选择execute shell
以下是脚本参考以下
大致意思:
1> 停止服务
2> jenkin 打包的jar 移动到部署目录。
3> 到部署目录 ,启动
springboot 启动注意 BUILD_ID=dontKillMe nohup /deploy_cmp_script/startup.sh &
重点是脚本
#!/bin/bash
cd /deploy_cmp_script
echo "Execute shell Start"
sh stop.sh
sh replace.sh
echo "Execute shell Finish"
chmod 777 /deploy_cmp_script/startup.sh
BUILD_ID=dontKillMe nohup /deploy_cmp_script/startup.sh &
三个文件内容
==================stop.sh===start=======================
#!将应用停止
#!stop.sh
#!/bin/bash
cd /deploy_cmp_script
echo "Stopping SpringBoot Application for CMP"
ls
pid=`ps -ef | grep cmp-0.0.1-SNAPSHOT.jar | grep -v grep | awk '{print $2}'`
if [ -n "$pid" ]
then
#!kill -9 强制终止
echo "kill -9 的pid:" $pid
kill -9 $pid
fi
==================stop.sh===end =======================
==================replace.sh===start=======================
jar_name=cmp-0.0.1-SNAPSHOT.jar
#!编译好的jar包存放地址
file_path=~/.jenkins/workspace/cmp/target
#!将现有的jar备份后,将新的jar包替换
file="/deploy_cmp/cmp-0.0.1-SNAPSHOT.jar"
if [ -f "$file" ]
then
mv /deploy_cmp/cmp-0.0.1-SNAPSHOT.jar /deploy_cmp_backup/cmp-0.0.1-SNAPSHOT.jar.`date +%Y%m%d%H%M%S`
fi
cp ~/.jenkins/workspace/cmp/target/cmp-0.0.1-SNAPSHOT.jar /deploy_cmp
==================replace.sh===end =======================
==================startup.sh===start=======================
ehco "授予当前用户权限"
chmod 777 /deploy_cmp/cmp-0.0.1-SNAPSHOT.jar
echo "执行....."
cd /deploy_cmp
java -jar cmp-0.0.1-SNAPSHOT.jar
echo "**********************cmp on jenkins started*************************"
==================startup.sh===end =======================
6、publish over ssh 插件介绍(我没有用到,记录一下)
安装时候遇到问题
1. java.net.UnknownHostException: host01: host01: Name or service not known
jenkins 启动的时候,控制台报错
java.net.UnknownHostException: host01:host01: Name or service not known
at java.net.InetAddress.getLocalHost(InetAddress.java:1473)
atcom.nse.cmccdm.hwtools.snmptrap.TrapThread.init(TrapThread.java:59)
解决方法:
修改/etc/hosts文件
操作:1、cd etc ——2、vi hosts ——3、在最后一行添加如下所示;
127.0.0.1 主机名 localhost.localdomain localhost
或是
127.0.0.1 主机名
主机名是新加的,原来没有,保存,问题解决。
注意: jdk 使用哪个?
jenkins里面有配置jdk路径,主机上又用一套jdk,就会有问题。确保使用一套java的路径
主机名的获取uname -an
![Logo](https://devpress.csdnimg.cn/79de2bf0b7994defa4242ef90d5513fa.jpg)
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)