centos下准备工作:
1.安装jdk环境
2.安装maven环境(用于构建项目)
3.git客户端(用于拉取源码)
此外码云还要准备一份java源码(springboot项目)
一、安装jenkins(演示版本为2.141):
官方下载jenkins的war包程序,上传至centos系统,如下:
然后执行命令,设置端口9000,运行jenkins
nohup java -jar jenkins.war --httpPort=9000 >temp.txt &
temp.txt为日志文件。
启动完成后,浏览器访问 http://ip:9000/,首次访问需要输入我们在日志中拿到的密码,如下图:
下一步,直接选择安装默认插件:
完成之后到首页如下:
进入系统管理 -> 全局工具配置:
1.maven settings.xml 配置
2.jdk配置:
3.Git配置
4.maven配置
保存即可
点击首页的新建任务,如下:
只要实现提交代码后手动构建部署项目,所以只需要设置如下两项即可:
点击add输入码云的账号密码:
确认自己项目war或jar名称已经jenkins构建后的目录(~/.jenkins/workspace/xxx/target/) ~ 指的是当前用户目录
我的项目源码打包后名称为 file-manage-0.0.1-SNAPSHOT.war 构建后目录为:~/.jenkins/workspace/file-manage/target/
准备目录:
所涉及的脚本命令如下:
#!/bin/bash -ile 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 sh /deploy_cmp_script/startup.sh
stop.sh:
#!/bin/bash -ile cd /deploy_cmp_script/ echo "Stopping SpringBoot Application for CMP" ls pid=`ps -ef | grep file-manage-0.0.1-SNAPSHOT.war | grep -v grep | awk '{print $2}'` if [ -n "$pid" ] then echo "kill -9 的pid:" $pid kill -9 $pid fi
replace.sh:
#!/bin/bash -ile jar_name=file-manage-0.0.1-SNAPSHOT.war file_path=~/.jenkins/workspace/file-manage/target/ file="/deploy_cmp/file-manage-0.0.1-SNAPSHOT.war" if [ -f "$file" ] then mv /deploy_cmp/file-manage-0.0.1-SNAPSHOT.war /deploy_cmp_backup/file-manage-0.0.1-SNAPSHOT.war.`date +%Y%m%d%H%M%S` fi cp ~/.jenkins/workspace/file-manage/target/file-manage-0.0.1-SNAPSHOT.war /deploy_cmp
startup.sh:
#!/bin/bash -ile echo "授予当前用户权限" chmod 777 /deploy_cmp/file-manage-0.0.1-SNAPSHOT.war echo "执行....." cd /deploy_cmp nohup java -jar file-manage-0.0.1-SNAPSHOT.war >temp.txt & echo "**********************cmp on jenkins started*************************"
然后jenkins页面点击保存,立即构建,点击:
查看构建日志