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/

  • 相关阅读:
    kubernetes之StatefulSet详解
    kubernetes调度之污点(taint)和容忍(toleration)
    Kubernetes调度之亲和与反亲和
    kubernetes调度之 PriorityClass
    kubernetes里的各种port解惑
    # kubernetes调度之nodeName与NodeSelector
    kubectl rollout回滚和autoscale自动扩容
    Kubernetes基本概念之Label
    kubernetes之多容器pod以及通信
    设计模式-装饰模式
  • 原文地址:https://www.cnblogs.com/fuzongle/p/12840332.html
Copyright © 2011-2022 走看看