在日常开发的过程中,我们经常会遇到将应用程序部署到多个环境的需求场景,如会先发布到测试环境,由测试人员进行测试,成功之后,会继续将当前应用部署到集成环境,进行集成测试,全部通过后,再继续将应用部署到生产环境,即完成一整个上线的流程。
本文将介绍如何基于流水线的方式,将应用部署到多个环境,本次之多两个环境,分别是测试环境和生产环境,可以根据实际情况进行优化调整。
创建项目
如上,创建一个流水线的项目
设置参数
如上图所示,设置一个标识参数,是否部署到生产环境
配置流水线
流水线的配置,如下图所示,是整个项目配置的核心所在,我们需要在此处设置项目构建工具maven,拉取项目代码,构建项目代码,将打包后的文件上传到部署的服务器上,在远程服务器上启动应用以及最后的清理等步骤。
设置环境变量
设置环境变量是为了将之前配置的参数写到环境变量中,供后续阶段使用
environment {
DEPLOY_TO_PROD = "${params.deployToProd}"
}
以上配置之后,后续便可以通过env.DEPLOY_TO_PROD进行引用。
配置maven
tools {
maven "maven"
}
以上配置了项目的构建工具maven,maven的值是之前在全局设置中配置的,可参考之前的文章。
构建
stages {
}
配置了构建的阶段,可以在里面配置多个stage代码块,每个块代表一个阶段,如构建、部署测试、部署生产等。
构建项目阶段
在构建阶段,我们拉取代码,并使用maven进行构建,构建成功后,将构建成功的包进行归档,供后续阶段使用
stage('构建') {
steps {
// Get some code from a GitHub repository
git branch: 'main', credentialsId: 'git', url: 'http://ip:port/projectName.git'
// Run Maven on a U