zoukankan      html  css  js  c++  java
  • Pivotal Cloud Technology | PivotalCloud 云技术

    关于CI,CD&CD

    CI->Continuous Integration:持续集成

    CD->Continuous Delivery:持续交付

    CD->Continuous Deployment:持续部署

    Jenkins

    Jawvb6.png

    Jenkins是一款开源 CI&CD 软件,用于自动化各种任务,包括构建、测试和部署软件。支持各种运行方式,可通过系统包、Docker 或者通过一个独立的 Java 程序。

    Jenkins部署方式

    • 1.基于独立应用程序部署[Jenkins]
    • 2.基于传统服务容器部署[Tomcat+Jenkins]
    • 3.基于虚拟容器服务部署[Docker+Jenkins]
    docker run -p 8080:8080 -p 50000:50000 -v /your/home:/var/jenkins_home jenkins
    

    ⚠️[注意事项]:经过实战推荐在Docker部署Jenkins,相对于其它方式,运行稳定可靠。

    • SSH Server配置
      JdZQQs.png

    • 服务端[Server]程序部署配置:
      Jav51U.png

    #!/bin/bash
    #当jenkins进程结束后新开的tomcat进程不被杀死
    BUILD_ID=DONTKILLME
    #加载变量
    . /etc/profile
    #配置Jenkins工作空间[JENKINS_WORKSPACE]
    export JENKINS_WORKSPACE=/var/jenkins_home/workspace/shaker-base-service-center-test
    #进入Jenkins工作空间 
    cd $JENKINS_WORKSPACE
    #授权配置Jenkins工作空间[chmod -R 777 JENKINS_WORKSPACE]
    chmod -R 777 $JENKINS_WORKSPACE
    #执行Maven构建项目
    mvn clean install -U -P test
    

    Jazow9.png
    JdpmjO.png

    #!/bin/bash
    #当jenkins进程结束后新开的tomcat进程不被杀死
    BUILD_ID=DONTKILLME
    #加载变量
    . /etc/profile
    #配置运行参数
    #配置目标服务主机Jenkins工作空间[jenkins打包上传的root目录]
    export JENKINS_WORKSPACE=/home/shaker_media/test
    #配置tomcat所在目录
    export TOMCAT_APP_PATH=/home/shaker_test/base-center
    chmod -R 777 $JENKINS_WORKSPACE
    ### base 函数
    killTomcat()
    {
        pid=`ps -ef | grep -w "base-service-center" | grep -v 'grep|tail|less|more'| awk '{print $2}'` 
        echo "pid=" $pid
        if [ "$pid" != "" ] ; then
        	kill -9 $pid
            rm -f /opt/testtomcat/pid
        else 
            rm -f /opt/testtomcat/pid
        fi
    }
    
    # 停止tomcat
    killTomcat
     
    # 删除原有工程
    rm -f $TOMCAT_APP_PATH/base-service-center.jar
     
    # 复制新的工程到tomcat上
    cp $JENKINS_WORKSPACE/base-service-center.jar $TOMCAT_APP_PATH/
    
    # 启动Tomcat
    cd $TOMCAT_APP_PATH
    nohup java -jar -Ddubbo.protocol.port=58080 -Xms512m -Xmx512m -Xmn256m base-service-center.jar --port=28080 >logs/base-service-center.log 2>&1 &
    
    • 后台Web页面[Client]部署:
      JdQHDH.png
    #!/bin/bash
    #当jenkins进程结束后新开的tomcat进程不被杀死
    BUILD_ID=DONTKILLME
    #加载变量
    . /etc/profile
    #配置Jenkins工作空间[JENKINS_WORKSPACE]
    export JENKINS_WORKSPACE=/var/jenkins_home/workspace/shaker-mobile-web-perview
    #进入Jenkins工作空间 
    cd $JENKINS_WORKSPACE
    #授权配置Jenkins工作空间[chmod -R 777 JENKINS_WORKSPACE]
    chmod -R 777 $JENKINS_WORKSPACE
    #执行Maven构建项目
    mvn clean install -U -P test
    

    Jdl1aR.png

    #!/bin/bash
    #当jenkins进程结束后新开的tomcat进程不被杀死
    BUILD_ID=DONTKILLME
    #加载变量
    . /etc/profile
    #配置运行参数
     
    #配置tomcat所在目录
    export TOMCAT_APP_PATH=/home/shaker_media/mobile-web
    #配置目标服务主机Jenkins工作空间
    export JENKINS_WORKSPACE=/home/shaker_media/preview
    chmod -R 777 $JENKINS_WORKSPACE
    #定义目标环境变量
    export  ENV_TARGET=mobile-web-preview
    
    ### base 函数
    killTomcat()
    {
        pid=`ps -ef | grep -w "$ENV_TARGET" | grep -v 'grep|tail|less|more'| awk '{print $2}'` 
        echo "pid=" $pid
        if [ "$pid" != "" ] ; then
        	kill -9 $pid
            rm -f /opt/testtomcat/pid
        else 
            rm -f /opt/testtomcat/pid
        fi
    }
    
    # 停tomcat
    killTomcat
     
    # 删除原有工程
    rm -f $TOMCAT_APP_PATH/$ENV_TARGET.jar
     
    # 复制新的工程到tomcat上
    cp $JENKINS_WORKSPACE/mobile-web.jar $TOMCAT_APP_PATH/
    
    # 启动Tomcat
    cd $TOMCAT_APP_PATH
    
    #修改项目目标名称
    cp mobile-web.jar  $ENV_TARGET.jar
    
    #启动项目部署
    nohup java -jar -verbose:gc -Xms512m -Xmx512m -Xmn512m -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=512m $ENV_TARGET.jar --port=8009 >logs/$ENV_TARGET.log 2>&1 &
    
    # 删除原始工程
    rm -f $TOMCAT_APP_PATH/mobile-web.jar
    
    • 前端页面[Html]部署:
    1. 视图通用配置:
      JdCpTJ.png

    2.Source Code Management
    JdPtv6.png

    3.Build构建
    JdPxIJ.png

    #!/bin/bash
    #当jenkins进程结束后新开的tomcat进程不被杀死
    BUILD_ID=DONTKILLME
    #加载变量
    . /etc/profile
    #配置运行参数
    export JENKINS_WORKSPACE=/var/lib/jenkins/workspace/shaker-manager-ui-test
    
    cd $JENKINS_WORKSPACE
    #git remote set-url origin git@gitee.com:tvplazaOne/2019WORK.git
    #git pull origin dev
    # 删除压缩包
    if [ ! -d "tar" ];then
    	mkdir ../tar
    fi
    
    rm -rf shaker-manager-ui-test.tar.gz
    rm -rf ../tar/shaker-manager-ui-test.tar.gz
    # 压缩
    tar -zcvf ../tar/shaker-manager-ui-test.tar.gz ../shaker-manager-ui-test
    
    cp ../tar/shaker-manager-ui-test.tar.gz ../shaker-manager-ui-test
    

    4.部署
    JdiqfA.png

    #配置运行参数
    #配置目标服务主机Jenkins工作空间[jenkins打包上传的root目录]
    export JENKINS_WORKSPACE=/home/shaker_media/test
    #配置tomcat所在目录
    export TOMCAT_APP_PATH=/home/shaker_test
    #配置全局Target名称
    export TARGET_NAME=shaker-manager-ui-test
    
    cd $JENKINS_WORKSPACE
    
    #复制文件到目标文件夹
    cp $TARGET_NAME.tar.gz  $TOMCAT_APP_PATH
    
    #进入目标文件夹[$TOMCAT_APP_PATH]
    cd $TOMCAT_APP_PATH
    
    #解压文件
    tar -zvxf $TARGET_NAME.tar.gz
    
    #删除目标历史文件
    rm -rf manager
    
    #创建文件夹[manager]
    mkdir  manager
    
    # 授权chmod -R 777  manager
    chmod -R 777  manager
    
    #更改文件夹名称
    mv $TARGET_NAME/*  manager
    
    #删除文件TARGET_NAME
    rm -rf $TARGET_NAME
    

    版权声明:本文为博主原创文章,遵循相关版权协议,如若转载或者分享请附上原文出处链接和链接来源。

  • 相关阅读:
    VellCar(我的钢管车)
    我的留言发送提醒界面
    PHP邮箱验证是否有效
    PHP字符串操作常用函数
    让php永远后台运行
    找到的两个php爬虫,分享一下
    全国DNS服务器IP地址【电信、网通、铁通】
    我的新顶级域名vell001.ml
    PHP使用SwiftMailer发送邮件
    6个WordPress备份插件
  • 原文地址:https://www.cnblogs.com/mazhilin/p/13593926.html
Copyright © 2011-2022 走看看