zoukankan      html  css  js  c++  java
  • 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/

  • 相关阅读:
    03_ if 练习 _ little2big
    uva 11275 3D Triangles
    uva 12296 Pieces and Discs
    uvalive 3218 Find the Border
    uvalive 2797 Monster Trap
    uvalive 4992 Jungle Outpost
    uva 2218 Triathlon
    uvalive 3890 Most Distant Point from the Sea
    uvalive 4728 Squares
    uva 10256 The Great Divide
  • 原文地址:https://www.cnblogs.com/fuzongle/p/12840332.html
Copyright © 2011-2022 走看看