本次安装部署是基于CentOS 7系统,填写的一些路径根据自己的实际情况进行调整。
1.下载
sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
2.导入
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
3.安装
yum install jenkins
4.配置Java及端口
配置Java位置:
vi /etc/init.d/jenkins
/usr/local/jdk8/bin/java
配置端口-我配置的8081:
vi /etc/sysconfig/jenkins
5.启动
systemctl daemon-reload
sudo service jenkins start
6.访问ip:port --默认安装插件即可
ip:port
7.密码
cat /var/lib/jenkins/secrets/initialAdminPassword
8.管理员
自定义管理员账号密码,一会儿登录使用
9.项目搭建-构建一个自由风格的软件项目
9.1 系统管理全局工具配置
9.1.1 JDK8
9.1.2 Git
9.1.3 Maven
9.2 插件安装-Deploy to container
9.3 项目配置
9.3.1 源码管理 --配置gitlab的ssh密钥授权
配置ssh参考位置 https://www.cnblogs.com/reblue520/p/7130914.html
9.3.2 定时触发器:
- 每15分钟运行一次 (可能在 1:07分, 1:22分, 1:37分, 1:52分)
H/15 * * * *
- 一个小时的前30分钟,每10分钟运行一次 (30分钟, 可能在 4分,14分,24分)
H(0-29)/10 * * * *
- 每周一至周五,上午9:45到下午3:45,每隔2小时45分钟运行一次
45 9-15/2 * * 1-5
- 每两小时一次,每个工作日上午9点到下午5点
H H(9-17)/2 * * 1-5
- 除12月外,每月1号和15号每天一次
H H 1,15 1-11 *
9.3.3 构建maven/shell
9.3.3.1 jenkins部署脚本权限开通
https://blog.csdn.net/wzqnls/article/details/78506149
10.部署到tomcat的shell脚本
10.1 jenkins打包位置
/var/lib/jenkins/workspace/grid/target/grid.war
10.2 jenkins部署脚本deploy.sh
#!/bin/bash
#deploy tomcat automatically
#path of war package
datapath=/var/lib/jenkins/workspace/grid/target/
#tomcat delpoy path
deploypath=/usr/local/tomcat/webapps
#tomcat restart.sh path
startpath=/usr/local/tomcat/bin
#kill tomcat
pid=$(ps aux | grep tomcat | grep -v grep | grep -v restart | grep ${bin} | awk '{print $2}')
if [ -n "${pid}" ]; then
echo "Shutdown..."
sh ${startpath}/shutdown.sh
sleep 3
pid=$(ps aux | grep tomcat | grep -v grep | grep -v restart | grep ${bin} | awk '{print $2}')
if [ -n "${pid}" ]; then
kill -9 ${pid}
sleep 1
fi
fi
echo "complete to kill tomcat"
#delete ever deployed war and unzip file
cd ${deploypath}
rm -rf grid/
rm -rf *.war
echo "complete to remove ever deployed war/file"
#cp .war to webapps
cd ${datapath}
cp grid.war ${deploypath}
echo "complete to cp war to webapps"
echo "sleep 3s"
sleep 3
#start tomcat
cd ${startpath}
echo "start to tomcat startup"
./startup.sh
11. 控制台输出