Jenkins自动化部署实现原理及部署到SSH与Docker

目录

1.jenkins安装

2.jenkins自动部署原理

3.准备工作

3.1安装git

3.2安装maven

3.3安装jdk

4.jenkins部署插件准备

5.全局工具配置

6.系统配置

7.新建任务开始自动化部署到本地

1.新建任务

 2.配置

3.脚本说明

8.新建任务开始自动化部署到云服务器

1.基本配置都同上,重点说明Post Steps 

2.脚本说明

9.新建任务开始自动化部署到docker


1.jenkins安装

jenkins 安装以及Jenkins无法在界面关闭跨站请求伪造保护(CSRF)解决403以及如何关闭Jenkins杀掉所有衍生进程_晨一更的博客-CSDN博客

2.jenkins自动部署原理

 需要配置jdk,maven(用于下载包) git项目地址(用于获取项目)

git上需要配置jenkins地址,用于通知jenkins,需要重新拉取

3.准备工作

3.1安装git

介绍两种安装方式,1、yum安装 2、从github上下载最新的源码编译后安装

1、在Linux上是有yum安装Git,非常简单,只需要一行命令

yum -y install git

 输入 git --version 查看Git是否安装完成以及查看其版本号

  输入 which git    查看安装地址:/usr/bin/git

2、从github上下载最新的源码编译后安装

        自行百度!!!

3.2安装maven

(../maven3.6.0/config/setting.xml  文件中自定义包下载路径)

        后续补上链接!!!

3.3安装jdk

        自行安装!!!

4.jenkins部署插件准备

打开:         系统管理>插件管理 > 可选插件(我已经安装所以在可更新)

 maven用于构建一个maven任务

 Publish Over SSH 用于上传服务器

5.全局工具配置

打开:         系统管理>全局工具配置

查看安装目录

which mvn   

which java 

which git

 

6.系统配置

打开:         系统管理>系统配置

如果安装了Publish over SSH增加如下配置,用于连接远程服务器部署

 

7.新建任务开始自动化部署到本地

以下配置是:jenkins与部署项目在一台机器上

本文采用maven构建 

1.新建任务

 2.配置

 

定时构建:H 18 * * * 

以下脚本最好放在   Pre Steps>执行shell

 cd /home/XXX/XXX/
 ./stop.sh

3.脚本说明

1.jenkins调用maven生产jar包是放在

jar源文件地址:/root/.jenkins/workspace/XXX/target

2.start.sh脚本

XXX-1.0.0.jar 可以使用通配符  **.jar

小编研究了一翻,可以在idea项目中的pom文件把<version/>剔除掉,打包就不会带版本号了

#!/bin/bash
export JAVA_HOME=/usr/java/jdk1.8.0_271/


cp -rf /root/.jenkins/workspace/XXX/target/XXX-1.0.0.jar /home/XXX/XXX
mv /home/XXX/XXX/XXX-1.0.0.jar /home/XXX/XXX/XXX.jar
echo " ================================复制完成======================================="
sleep 1
echo " ================================开始启动======================================="


echo ${JAVA_HOME}
echo "Start the program : XXX.jar"
chmod 777 /home/XXX/XXX/XXX.jar
echo '--------Starting------'
cd /home/XXX/XXX
nohup ${JAVA_HOME}/bin/java -jar XXX.jar &
echo 'start success'

3.stop脚本

#!/bin/bash
echo "Stop Procedure : XXX.jar"
pid=`ps -ef |grep java|grep XXX.jar|awk '{print $2}'`
echo 'old Procedure pid:' $pid
if [ -n "$pid" ]
then
kill -9 $pid
rm -f nohup.out
fi

8.新建任务开始自动化部署到云服务器

以下配置是:jenkins部署到云服务器

配置>源码管理  同上配置git地址

配置> Pre Steps 同上

Build>同上

1.基本配置都同上,重点说明Post Steps 

同样的道理stop.sh文件最好是在

 或者

 里面编写脚本

2.脚本说明

1.start.sh

#!/bin/bash
export JAVA_HOME=/usr/java/jdk1.8.0_271/
echo ${JAVA_HOME}
echo "Start the program : XXX.jar"
chmod 777 /home/XXX/XXX/XXX.jar
echo '--------Starting------'
cd /home/XXX/XXX
nohup ${JAVA_HOME}/bin/java -jar XXX.jar &
echo 'start success'

2.stop.sh

同上

9.新建任务开始自动化部署到docker

docker具体部署配置文件请参考小编的另一篇文章:

docker安装jdk+mysql+redis+rabbitmq并继承jenkins运行后端jar包_晨一更的博客-CSDN博客

以下配置是:jenkins部署到云服务器

配置>源码管理  同上配置git地址

配置> Pre Steps 同上

Build>同上

 1.基本配置都同上,重点说明Post Steps 

 这里的Exec commond脚本替换成

cd /home/XXX/XXX
./DockerStart.sh

说明:cd /home/XXX/XXX目录下 包含的文件有,务必放在同一目录

xxx.jar

Dockerfile

DockerStart.sh

2.脚本说明

1.DockerStart.sh

docker安装jdk+mysql+redis+rabbitmq并继承jenkins运行后端jar包_晨一更的博客-CSDN博客

2.Dockerfile

docker安装jdk+mysql+redis+rabbitmq并继承jenkins运行后端jar包_晨一更的博客-CSDN博客

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值