zoukankan      html  css  js  c++  java
  • Jenkins流水线项目发布

    CI/CD代码发布流程

     本次环境为:

    主机名 IP 已安装的服务
    localhost 192.168.44.128 tomcat jenkins
    node1 192.168.44.129 tomcat
    //准备工作
    [root@localhost ~]# systemctl disable --now firewalld
    [root@localhost ~]# sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config
    [root@localhost ~]# setenforce 0
    [root@localhost ~]# yum -y install maven git
    [root@localhost ~]# vim /etc/hosts
    127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
    ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
    192.168.44.129 node1
    [root@localhost ~]# ssh-keygen -t rsa  //全部按回车
    [root@localhost ~]# ssh-copy-id root@192.168.44.129
    
    [root@node1 ~]# systemctl disable --now firewalld
    [root@node1 ~]# sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config
    [root@node1 ~]# setenforce 0

    首先把源替换成国内源

    再安装Pipeline、Publish Over SSH、Publish Over SSH、SSH Build Agents、Git、GitHub、GitLab、Gitee插件(如果出现错误多装几次)

     

    新建任务

    pipeline {
        agent any
        
        stages {
            stage('pull code') {
                steps {   #拉取代码
                    git 'http://github.com/lizhenliang/tomcat-java-demo.git'
                }
            }
    
            stage('package') {
                steps {        #打包代码
                    sh """    
                    mvn clean
                    mvn package
                    """
                }
            }
             stage('deploy') {
                steps {        #scp命令传输包到部署机上并重启tomcat环境
                    sh """
                    scp target/ly-simple-tomcat-0.0.1-SNAPSHOT.war root@192.168.44.129:/usr/local/apache-tomcat-9.0.46/webapps
                    ssh root@192.168.44.129 "bash /usr/local/apache-tomcat-9.0.46/bin/shutdown.sh && bash /usr/local/apache-tomcat-9.0.46/bin/startup.sh"
                    """
                }
            }
        }
    }

    基于参数构建流水线流程

    pipeline {
        agent any
        
        stages {
            stage('pull code') {
                steps {
                    git "${GIT_URL}"    #调用仓库地址变量
                }
            }
     stage('package') {
                steps {        
                    sh """    
                    mvn clean
                    mvn package
                    """
                }
            }
             stage('deploy') {
                steps {        
                    sh """    #调用maven包名,部署主机,tomcat安装目录
                    scp target/${MAVEN_PACK}.war root@${DEPLOY_HOST}:${TOMCAT_DIR}webapps
                    ssh root@192.168.44.129 "bash ${TOMCAT_DIR}bin/shutdown.sh && bash ${TOMCAT_DIR}bin/startup.sh"   #远程命令控制部署机重启tomcat服务
                    """
                }
            }
        }
    }

    验证

  • 相关阅读:
    Atitti. 语法树AST、后缀表达式、DAG、三地址代码
    Atitit.antlr实现词法分析
    Atitit.antlr实现词法分析
    Atitit.词法分析的理论原理 part2
    Atitit.词法分析的理论原理 part2
    atitit.词法分析原理 词法分析器 (Lexer)
    atitit.词法分析原理 词法分析器 (Lexer)
    Atitti.数据操作crud js sdk dataServiceV3设计说明
    Atitti.数据操作crud js sdk dataServiceV3设计说明
    Atitit.http代理的实现 代码java php c# python
  • 原文地址:https://www.cnblogs.com/chensongling/p/14782766.html
Copyright © 2011-2022 走看看