|
|
|
@ -2,23 +2,17 @@ pipeline { |
|
|
|
|
agent any |
|
|
|
|
|
|
|
|
|
environment { |
|
|
|
|
DOCKER_HOST = "tcp://192.168.75.149:2375" |
|
|
|
|
DOCKER_IMAGE = "my-web-app:latest" |
|
|
|
|
K8S_DEPLOYMENT_NAME = "my-web-app-deployment" |
|
|
|
|
REGISTRY_CREDENTIALS_ID = 'registry-credentials' |
|
|
|
|
REGISTRY_URL = 'http://core.harbor.cn' |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
stages { |
|
|
|
|
stage('构建镜像') { |
|
|
|
|
steps { |
|
|
|
|
script { |
|
|
|
|
try { |
|
|
|
|
docker.image('docker:latest').inside { |
|
|
|
|
sh "docker build -t ${DOCKER_IMAGE} ." |
|
|
|
|
} |
|
|
|
|
} catch (Exception e) { |
|
|
|
|
echo "构建镜像失败: ${e.message}" |
|
|
|
|
currentBuild.result = 'FAILURE' |
|
|
|
|
error("构建失败") |
|
|
|
|
docker.withRegistry(REGISTRY_URL, REGISTRY_CREDENTIALS_ID) { |
|
|
|
|
def customImage = docker.build(DOCKER_IMAGE) |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
@ -26,45 +20,18 @@ pipeline { |
|
|
|
|
stage('推送镜像') { |
|
|
|
|
steps { |
|
|
|
|
script { |
|
|
|
|
try { |
|
|
|
|
docker.withRegistry('http://core.harbor.cn', 'registry-credentials') { |
|
|
|
|
docker.image("${DOCKER_IMAGE}").push() |
|
|
|
|
} |
|
|
|
|
} catch (Exception e) { |
|
|
|
|
echo "推送镜像失败: ${e.message}" |
|
|
|
|
currentBuild.result = 'FAILURE' |
|
|
|
|
error("推送失败") |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
stage('部署k8s') { |
|
|
|
|
steps { |
|
|
|
|
script { |
|
|
|
|
try { |
|
|
|
|
kubernetesDeploy( |
|
|
|
|
configs: 'k8s/deploy.yaml', |
|
|
|
|
kubeconfigId: 'K8S_CLUSTER_CONFIG' |
|
|
|
|
) |
|
|
|
|
} catch (Exception e) { |
|
|
|
|
echo "部署到 Kubernetes 失败: ${e.message}" |
|
|
|
|
currentBuild.result = 'FAILURE' |
|
|
|
|
error("部署失败") |
|
|
|
|
docker.withRegistry(REGISTRY_URL, REGISTRY_CREDENTIALS_ID) { |
|
|
|
|
docker.image(DOCKER_IMAGE).push() |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
// 其他阶段 |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
post { |
|
|
|
|
always { |
|
|
|
|
echo "完成" |
|
|
|
|
} |
|
|
|
|
success { |
|
|
|
|
echo "成功" |
|
|
|
|
} |
|
|
|
|
failure { |
|
|
|
|
echo "失败" |
|
|
|
|
echo "构建完成" |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|