Jenkins+Maven+Gitlab构建自动化部署项目

本次安装部署是基于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. 控制台输出

 

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值