Jenkins流水线项目发布流程

CI/CD代码发布流程

  1. 开发者开发代码
  2. 提交至git仓库
  3. jenkins从仓库拉取代码
  4. jenkins通过maven(ant,gradle等)构建项目推到docker仓库
  5. 生成一个在tomcat运行的项目的docker容器
  6. 测试人员测试

流水线项目创建

  • 环境
主机(ip) 环境
node1(192.168.94.141) rhel8,tomcat9,Jenkins,ssh密钥
node2(192.168.94.143) rhel8,tomcat9,ssh免密登录
//生成key
[root@node1 ~]# ssh-keygen -t rsa 
[root@node1 ~]# ssh-copy-id root@node2 #此处需修改hosts文件端口映射,不然就写node2的ip

//关闭防火墙相关
[root@node1 ~]# systemctl disable --now firewalld
[root@node1 ~]# setenforce 0
[root@node2 ~]# systemctl disable --now firewalld
[root@node2 ~]# setenforce 0
  • 安装maven命令
//安装maven打包命令
[root@node1 ~]# yum -y install maven
//安装git命令
[root@node1 ~]# yum -y install git

新建任务

pipeline {
    agent any
    
    stages {
        stage('pull code') {
            steps {   #拉取代码
                git 'http://github.com/lizhenliang/tomcat-java-demo.git'
            }
        }

        stage('package') {
            steps {		#打包代码
                sh """	#表示用shell解释器解释以下命令
                mvn clean
                mvn package
                """
            }
        }
         stage('deploy') {
            steps {		#scp命令传输包到部署机上并重启tomcat环境
                sh """
                scp target/ly-simple-tomcat-0.0.1-SNAPSHOT.war root@192.168.94.143:/usr/local/apache-tomcat-9.0.46/webapps
                ssh root@192.168.94.143 "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.94.143 "bash ${TOMCAT_DIR}bin/shutdown.sh && bash ${TOMCAT_DIR}bin/startup.sh" #远程命令控制部署机重启tomcat服务
                """
            }
        }
    }
}

posted on 2021-05-18 22:40  fxx013  阅读(354)  评论(0编辑  收藏  举报

导航