jenkinsfile声明式配置流水线及拉取代码打包测试

先决条件

jenkins部署完成 这里用的是2.486
部署方式 k8s集群使用sts部署
git仓库 gitlab本地自己搭的gitlab
项目地址 https://github.com/pig-mesh/pig.git

项目是开源项目.我个人为了贴近生产环境所以拉倒了gitlab中.

编辑Jenkinsfile阶段

创建流水线

创建gitlab代码拉取凭据

这里使用的是用户名密码的方式,(后面直接根据url地址关联到这个用户名密码即可使用)

配置流水线信息

正常情况下需要配置流水线的基础配置信息,但是这里说了使用声明式的配置方式,所有基础配置都在jenkinsfile中,

这里创建项目组以及创建仓库的步骤就不说了.

项目是一个分布式项目,所以有顶级pom文件个子pom文件.这里说明一下,有些问题等我搞明白了后续再补充,

顶级pom文件中是包含子pom文件的.其中module字段中的名称就是各个子项目的项目名称.所以在进行构建的时候需要名称一致进行构建打包操作.具体以操作名称后面的Jenkinsfile中会体现.

书写Jenkinsfile文件,
env.serviceName = "${env.JOB_NAME}".split('_')[0]
def jdks = 	["jdk17":"/opt/java/openjdk",
			 "jdk11":"/opt/java/java11"
			]
currentBuild.displayName = "${env.serviceName}"
currentBuild.description = "serviceName: ${env.serviceName}"
pipeline{
	agent any 
	parameters {
		string (name: 'srcUrl',defaultValue:'http://192.168.59.30:28080/devops8/pig.git',description:'代码仓库地址')
		choice (name: 'javaVersion', choices: ['jdk17','jdk11','jdk8'], description: 'jdk版本-根据java版本来选择')
        choice (name: 'branchName', choices: ['main','master','jdk17','dev','test',], description: '仓库分支分支')
		string (name: 'VERSION',defaultValue:'RELEASE-1.1.1',description:'构建版本')
    	}
//这里用于初始化环境变量
	stages{
		stage("init"){
			stage{
				script{
					sh """
						export JAVA_HOMES=${jdks["${params.javaVersion}"]}
						echo \$JAVA_HOMES
					"""
				}
			}
		}
//这里拉取代码
		stage("run"){
			steps{
				script {
					//script
					//拉取仓库代码
					checkout scmGit(branches: [[name: "${params.branchName}"]], 
					extensions: [], 
					userRemoteConfigs: [[credentialsId: 'gitlab-admin',   //添加凭据
					url: "${params.srcUrl}"]])
					sh 'ls -l '
					echo "${params.VERSION}"+'版本号码'
					echo "${params.serviceName}"+'服务名称'
				}
			}
		}
//这里构建jar包
		stage("Build"){
			steps{
				script {
                    sh  "mvn  clean package -pl ${env.serviceName} -am"
					sh "ls ./pig-register/target"
				}
			}
		}
	}
}

说明一下:

这里大致分成几个部分,

全局环境变量

1.环境变量

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值