Jenkins流水线项目发布流程

Posted fxx013

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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服务
                """
            }
        }
    }
}

以上是关于Jenkins流水线项目发布流程的主要内容,如果未能解决你的问题,请参考以下文章

jenkins的Pipeline代码流水线管理

jenkins流水线项目发布流程

云原生DevOps:Jenkins流水线

Jenkins的流水线(Pipeline)

使用 Jenkins 实现集群化管理以及配置流水线

Jenkins CI/CD 发布流程管理