jenkins新建测试流水线
新建任务



node('testak') {
stage('第1步:从gitee上下载源代码') {
git url: "https://gitee.com/akang007/jenkins-sample"
script {
build_tag = sh(returnStdout: true, script: 'git rev-parse --short HEAD').trim()
}
}
stage('第2步:基于dockerfile文件制作镜像') {
sh "docker build -t 192.168.40.62/jenkins-demo/jenkins-demo:${build_tag} ."
}
stage('第3步:把镜像上传到harbor私有仓库') {
withCredentials([usernamePassword(credentialsId: 'dockerharbor', passwordVariable: 'dockerHubPassword', usernameVariable: 'dockerHubUser')]) {
sh "docker login 172.16.80.140 -u ${dockerHubUser} -p ${dockerHubPassword}"
sh "docker push 172.16.80.140/jenkins-demo/jenkins-demo:${build_tag}"
}
}
stage('第4步:把pod部署到开发环境') {
sh "sed -i 's/<BUILD_TAG>/${build_tag}/' k8s-dev-harbor.yaml"
sh "sed -i 's/<BRANCH_NAME>/${env.BRANCH_NAME}/' k8s-dev-harbor.yaml"
// sh "bash running-devlopment.sh"
sh "kubectl apply -f k8s-dev-harbor.yaml --validate=false"
}
stage('第5步:把pod部署到测试环境') {
def userInput = input(
id: 'userInput',
message: '确定部署到测试环境吗?输入yes确定',
parameters: [
[
$class: 'ChoiceParameterDefinition',
choices: "YES\nNO",
name: 'Env'
]
]
)
echo "This is a deploy step to ${userInput}"
if (userInput == "YES") {
sh "sed -i 's/<BUILD_TAG>/${build_tag}/' k8s-qa-harbor.yaml"
sh "sed -i 's/<BRANCH_NAME>/${env.BRANCH_NAME}/' k8s-qa-harbor.yaml"
// sh "bash running-qa.sh"
sh "kubectl apply -f k8s-qa-harbor.yaml --validate=false"
sh "sleep 6"
sh "kubectl get pods -n qatest"
sh "cd /home/jenkins/agent/workspace/jenkins-harbor"
sh "/root/Python-3.12.5/python qatest.py"
} else {
//exit
}
}
stage('第6步:pod部署到生产环境') {
def userInput = input(
id: 'userInput',
message: '确定部署到生产环境吗?输入yes确定',
parameters: [
[
$class: 'ChoiceParameterDefinition',
choices: "YES\nNO",
name: 'Env'
]
]
)
echo "T

最低0.47元/天 解锁文章
634

被折叠的 条评论
为什么被折叠?



