Jnnkins+Gogs+Docker 集成自动化部署教程(实战教程)

一、前言

  为了方便小公司没有运维开发人员,利用Jenkin解决了繁琐的打包部署问题。这次我就写了一个Gogs的集成教程,我觉的Gogs私服比较简单,其他的GitLab、svn、GitHub基本上也是一样的,搭建好了,开发人员只需要提交到版本控制仓库,即可自动打包部署。

二、工作原理

   以上为基本工作原理,只是为了开发人员更好的理解画的(个人理解)。其实就是开发人员把代码提交到代码仓库,就可以自动打包部署。 详情可查看官方文档:https://www.jenkins.io/zh/

 三、准备工作

1.需要准备一台服务器,大家可以在网上买,个人学习的话还是建议大家去安装一个虚拟机,去装一个Linux系统。关键字点击跳转:虚拟机安装教程    Linux安装教程 

2.需要准备一个远程连接工具,连接到Linux系统,作者采用的是:Xshell 工具 (注意:Xshell下载地址翻到本文最下面)。

3.Linux安装jdk教程:

https://www.cnblogs.com/fuzongle/p/12811057.html

4.Linux安装git教程:

https://www.cnblogs.com/fuzongle/p/12830572.html

5.Linux安装maven教程:

https://www.cnblogs.com/fuzongle/p/12825048.html

6.集成Docker+Gogs教程:

https://www.cnblogs.com/fuzongle/p/12781828.html

7.Docker安装jenkins教程:  

https://www.cnblogs.com/fuzongle/p/12834080.html

8.Jenkins安装成功后配置教程:

https://www.cnblogs.com/fuzongle/p/12840219.html

    以上如有安装过的可以跳过,如果安装种遇到任何问题翻到最下面,寻找帮助,希望能帮助大家。

 三、新建项目

1.主页→新建项目

 2.在General中选择丢弃旧的构建,保持构建天数自定义,保持最大构建个人数,根据个人需求。

 3.将Gogs仓库的地址连接到源码管理中,账号密码是Gogs私服的账号密码,分支可以自定义。

 4.触发远程构建 (例如,使用脚本)

  5.编写shell命令如下,保存即可。

#!/bin/bash
chmod 777 /var/jenkins_home/stop.sh
/var/jenkins_home/stop.sh
chmod 777 /var/jenkins_home/startup.sh
BUILD_ID=dontiKillMe /var/jenkins_home/startup.sh

 

 6.在jenkins_mount工作目录下新建,sturtup.sh stop.sh

stop.sh

#!/bin/sh
cd /var/jenkins_home/jenkins_war
echo "stopping helloboot application...."
pid=`ps -ef | grep canal-0.0.1-SNAPSHOT.jar | grep -v grep | awk '{print $2}'`
if ["$pid" == ""]
then
echo "helloboot is already stop!"
else
echo "kill -9 的pid:"+$pid
kill -9 $pid
fi

sturtup.sh

#!/bin/bash
echo "remove old helloboot.jar ..."
rm /var/jenkins_home/jenkins_war/canal-0.0.1-SNAPSHOT.jar
cp /var/jenkins_home/workspace/test/target/canal-0.0.1-SNAPSHOT.jar /var/jenkins_home/jenkins_war
sleep 2s
echo "running helloboot.jar...."
daemonize -E BUILD_ID=dontKillMe
nohup java -jar /var/jenkins_home/jenkins_war/canal-0.0.1-SNAPSHOT.jar --server.port=8090 &

 7.我们在Gogs私服上,上传一个java项目,点击仓库配置,选择web钩子,选择Gogs。

  8.配置测试Gogs推送Jenkins是否能够正常推送。

 9.测试项目是否正常运行,咱们在开发工具中,随便写一个访问的API接口,提交一下。

 10.我们看jenkins正在自动构建,如下图

 

11.构建成功后,ip加上端开口访问一下:

注意:

1.如果有任何不懂的地方可以咨询我,随时欢迎互相帮助。

2.技术交流群QQ:422167709。

3.如果希望学习更多,希望微信扫码,长按扫码,帮忙关注一下,举手之劳,当您无助的时候真的能帮你。非常感谢您关注公众号 "编程小乐",回复 “Xshell” 领取软件下载地址,回复 “vm下载” 领取软件下载地址。

4.鸣谢:jenkins官方 https://www.jenkins.io/zh/

原文地址:https://www.cnblogs.com/fuzongle/p/12840332.html