Jenkins流水线项目发布流程
Posted fxx013
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Jenkins流水线项目发布流程相关的知识,希望对你有一定的参考价值。
CI/CD代码发布流程
- 开发者开发代码
- 提交至git仓库
- jenkins从仓库拉取代码
- jenkins通过maven(ant,gradle等)构建项目推到docker仓库
- 生成一个在tomcat运行的项目的docker容器
- 测试人员测试
流水线项目创建
- 环境
主机(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流水线项目发布流程的主要内容,如果未能解决你的问题,请参考以下文章