cicd的build文件调整 #5
|
@ -3,25 +3,9 @@ def BUILD_NUMBER = "${env.BUILD_NUMBER}"
|
|||
def label = "jenkins-${JOB_NAME}-${BUILD_NUMBER}-${UUID.randomUUID().toString()}"
|
||||
def secret_name = "harbor-auth"
|
||||
|
||||
def helmLint(String chartDir) {
|
||||
println "校验 chart 模板"
|
||||
sh "helm lint ${chartDir}"
|
||||
}
|
||||
|
||||
def helmDeploy(Map args) {
|
||||
if (args.debug) {
|
||||
println "Debug 应用"
|
||||
sh "helm upgrade --dry-run --debug --install ${args.name} ${args.chartDir} -f ${args.valuePath} --set image.tag=${args.imageTag} --namespace ${args.namespace}"
|
||||
} else {
|
||||
println "部署应用"
|
||||
sh "helm upgrade --install ${args.name} ${args.chartDir} -f ${args.valuePath} --set image.tag=${args.imageTag} --namespace ${args.namespace}"
|
||||
echo "应用 ${args.name} 部署成功. 可以使用 helm status ${args.name} 查看应用状态"
|
||||
}
|
||||
}
|
||||
podTemplate(label: label, containers: [
|
||||
containerTemplate(name: 'golang', image: 'golang:1.18.5-alpine3.16', command: 'cat', ttyEnabled: true),
|
||||
containerTemplate(name: 'docker', image: 'docker:latest', command: 'cat', ttyEnabled: true),
|
||||
// containerTemplate(name: 'helm', image: 'cnych/helm', command: 'cat', ttyEnabled: true),
|
||||
containerTemplate(name: 'kubectl', image: 'jcce/kubectl:1.23.7', command: 'cat', ttyEnabled: true)
|
||||
], serviceAccount: 'jenkins', volumes: [
|
||||
hostPathVolume(mountPath: '/var/run/docker.sock', hostPath: '/var/run/docker.sock')
|
||||
|
@ -35,6 +19,7 @@ podTemplate(label: label, containers: [
|
|||
def imageEndpoint = "jcce/jcce-karmada"
|
||||
// 镜像
|
||||
def image = "${registryUrl}/${imageEndpoint}:${imageTag}"
|
||||
def imageLatest = "${registryUrl}/${imageEndpoint}:latest"
|
||||
|
||||
stage('单元测试') {
|
||||
echo "1.测试阶段"
|
||||
|
@ -63,47 +48,13 @@ podTemplate(label: label, containers: [
|
|||
echo "3. 构建 Docker 镜像阶段"
|
||||
sh('cat /etc/resolv.conf')
|
||||
sh("docker login '${registryUrl}' -u '${DOCKER_USER}' -p '${DOCKER_PASSWORD}' ")
|
||||
sh("docker build -t '${image}' -f cmd/backend/Dockerfile cmd/backend/")
|
||||
sh("docker build -t '${image}' -t '${imageLatest}' -f cmd/backend/Dockerfile cmd/backend/")
|
||||
sh("docker push '${image}'")
|
||||
sh("docker push '${imageLatest}'")
|
||||
sh("docker rmi '${image}' '${imageLatest}'")
|
||||
}
|
||||
}
|
||||
}
|
||||
// stage('运行 Helm') {
|
||||
// withCredentials([file(credentialsId: 'kubeconfig', variable: 'KUBECONFIG')]) {
|
||||
// container('helm') {
|
||||
// sh "mkdir -p ~/.kube && cp ${KUBECONFIG} ~/.kube/config"
|
||||
// echo "4.开始 Helm 部署"
|
||||
// def userInput = input(
|
||||
// id: 'userInput',
|
||||
// message: '选择一个部署环境',
|
||||
// parameters: [
|
||||
// [
|
||||
// $class: 'ChoiceParameterDefinition',
|
||||
// choices: "Dev\nQA\nProd",
|
||||
// name: 'Env'
|
||||
// ]
|
||||
// ]
|
||||
// )
|
||||
// echo "部署应用到 ${userInput} 环境"
|
||||
// // 选择不同环境下面的 values 文件
|
||||
// if (userInput == "Dev") {
|
||||
// // deploy dev stuff
|
||||
// } else if (userInput == "QA"){
|
||||
// // deploy qa stuff
|
||||
// } else {
|
||||
// // deploy prod stuff
|
||||
// }
|
||||
// helmDeploy(
|
||||
// debug : false,
|
||||
// name : "${JOB_NAME}",
|
||||
// chartDir : "./helm",
|
||||
// namespace : "jcce-system",
|
||||
// valuePath : "./helm/my-values.yaml",
|
||||
// imageTag : "${imageTag}"
|
||||
// )
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
stage('运行 Kubectl 部署到k8s平台') {
|
||||
withCredentials([file(credentialsId: 'kubeconfig', variable: 'KUBECONFIG')]) {
|
||||
container('kubectl') {
|
||||
|
@ -118,26 +69,5 @@ podTemplate(label: label, containers: [
|
|||
}
|
||||
}
|
||||
}
|
||||
// stage('快速回滚?') {
|
||||
// withCredentials([file(credentialsId: 'kubeconfig', variable: 'KUBECONFIG')]) {
|
||||
// container('helm') {
|
||||
// sh "mkdir -p ~/.kube && cp ${KUBECONFIG} ~/.kube/config"
|
||||
// def userInput = input(
|
||||
// id: 'userInput',
|
||||
// message: '是否需要快速回滚?',
|
||||
// parameters: [
|
||||
// [
|
||||
// $class: 'ChoiceParameterDefinition',
|
||||
// choices: "Y\nN",
|
||||
// name: '回滚?'
|
||||
// ]
|
||||
// ]
|
||||
// )
|
||||
// if (userInput == "Y") {
|
||||
// sh "helm rollback ${JOB_NAME} --namespace jcce-system"
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue