美文网首页
Jenkins | Jenkins实现半自动化部署

Jenkins | Jenkins实现半自动化部署

作者: 浪漫宇宙与人间日常 | 来源:发表于2018-12-10 15:12 被阅读0次

    作者的话

    在我司的基础设施软件中,有一个ecloud平台,能够进行软件开发的持续集成,通过代码上传到svn然后直接同步更新到服务器,同时也是支持docker的,里面涉及技术点很多,我们不妨将其简化,首先来学习其中最为核心的Jenkins这部分,并且通过部署一个自动化测试服务,来感受它的魅力,体会自动化部署持续集成的原理。

    Jenkins的安装

    Jenkins的官网,下载对应的war文件,通过本地命令行运行java -jar jenkins.war来执行安装Jenkins,最好通过访问localost:8080访问进入相关设置

    密码路径

    根据提示找到密码,进入下一步安装向导

    然后设置选择安装建议插件,最后需要输入自己的账号密码,下一步进入Jenkins的后台页面

    Jenkins后台

    安装插件

    进入系统的插件管理,然后选择可选插件进行安装

    插件管理

    安装一下方便的 rebuildersafe restart,这两个插件分别是用来重建项目方便和重启系统的方便

    基础配置

    进入系统管理 ---> 全局安全配置

    全局安全配置

    然后选择 安全矩阵 ,进行权限设置

    添加admin用户组,设置好所有所有权限,然后添加用户

    系统管理 ----> 用户管理 -----> 新建用户

    新建用户

    新建好用户同样需要给这个用户设置权限,一般用户都要需要其他权限,不能给普通用户设置超级管理员权限

    设置新增用户权限

    注册Linux服务器

    我们默认linux服务器上相关服务都安装配置好了

    然后我们就开始在Jenkins后台进行相关设置

    • 新建节点

    从系统管理 ---> 节点管理 ---> 新建节点

    节点配置

    我们通过ssh的root用户访问远程linux服务器,然后保存成功后,我们可以启动代理,连接服务器

    创建任务运行

    回到jenkins控制台首页,新建任务,绑定到刚才新建的服务器上面,

    限制任务运行节点

    然后选择运行shell脚本

    shell

    然后就可以执行构建,运行当前任务,测试是否生效。

    构建自动化部署

    示意图

    我们自动化构建的主要步骤如上图,接着我们开始在jenkins后台构建这个任务

    里面通过一个shell脚本来完成这个过程

    #!/usr/bin/env bash
    #编译+部署order站点
    
    #需要配置如下参数
    # 项目路径, 在Execute Shell中配置项目路径, pwd 就可以获得该项目路径
    # export PROJ_PATH=这个jenkins任务在部署机器上的路径
    
    # 输入你的环境上tomcat的全路径
    # export TOMCAT_APP_PATH=tomcat在部署机器上的路径
    
    ### base 函数
    killTomcat()
    {
        pid=`ps -ef|grep tomcat|grep java|awk '{print $2}'`
        echo "tomcat Id list :$pid"
        if [ "$pid" = "" ]
        then
          echo "no tomcat pid alive"
        else
          kill -9 $pid
        fi
    }
    cd $PROJ_PATH/order
    mvn clean install
    
    # 停tomcat
    killTomcat
    
    # 删除原有工程
    rm -rf $TOMCAT_APP_PATH/webapps/ROOT
    rm -f $TOMCAT_APP_PATH/webapps/ROOT.war
    rm -f $TOMCAT_APP_PATH/webapps/order.war
    
    # 复制新的工程
    cp $PROJ_PATH/order/target/order.war $TOMCAT_APP_PATH/webapps/
    
    cd $TOMCAT_APP_PATH/webapps/
    mv order.war ROOT.war
    
    # 启动Tomcat
    cd $TOMCAT_APP_PATH/
    sh bin/startup.sh
    

    这块内容不理解,自己去学习理解吧,我这就不多解释了

    然后我们像上面一样新建任务,只需设置一下源码管理

    设置svn

    然后构建命令,需要区别设置一下

    填写shell

    这块第一句话 是代表不让 这个jenkins的进出不被kill ,后面设置的环境变量,是给上面的那个文件使用

    然后运行我们编写的shell文件,执行构建过程,这样子我们项目就会在服务器上运行起来

    下面我们修改好源码的后,只要提交到svn代码库,然后在jenkins的后台再次点击下构建任务,就可以在后台看到我们修改的内容

    本次这个过程还是属于半自动化,还需要自己手动点击构建任务。

    相关文章

      网友评论

          本文标题:Jenkins | Jenkins实现半自动化部署

          本文链接:https://www.haomeiwen.com/subject/tqbrhqtx.html