|
@@ -10,6 +10,8 @@ pipeline {
|
|
|
PROJECT_NAME = 'gateway-service'
|
|
|
MAVEN_HOME = '/usr/local/apache-maven-3.9.9/bin'
|
|
|
HARBOR_HOST = '8.130.28.21:81'
|
|
|
+ HARBOR_USER = 'admin'
|
|
|
+ HARBOR_PASSWORD = 'Hfln@1024'
|
|
|
KUBECONFIG_PATH = '/root/.kube/config'
|
|
|
SPRING_PROFILES_ACTIVE = "${params.env}"
|
|
|
}
|
|
@@ -41,7 +43,7 @@ pipeline {
|
|
|
def imageTag = "${HARBOR_HOST}/${params.env}/${PROJECT_NAME}:${BUILD_NUMBER}"
|
|
|
echo ">>> 构建 Docker 镜像: ${imageTag}"
|
|
|
sh """
|
|
|
- docker login -u admin -p Hfln@1024 ${HARBOR_HOST}
|
|
|
+ docker login -u ${HARBOR_USER} -p ${HARBOR_PASSWORD} ${HARBOR_HOST}
|
|
|
docker build --build-arg env=${params.env} -t ${imageTag} .
|
|
|
docker push ${imageTag}
|
|
|
docker rmi ${imageTag}
|
|
@@ -51,6 +53,20 @@ pipeline {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ stage('🔍 镜像拉取测试(可选)') {
|
|
|
+ steps {
|
|
|
+ script {
|
|
|
+ def imageTag = "${HARBOR_HOST}/${params.env}/${PROJECT_NAME}:${BUILD_NUMBER}"
|
|
|
+ echo ">>> 测试节点能否拉取镜像..."
|
|
|
+ sh """
|
|
|
+ # 登录节点测试拉取镜像
|
|
|
+ ssh root@node1 "docker login -u ${HARBOR_USER} -p ${HARBOR_PASSWORD} ${HARBOR_HOST} && docker pull ${imageTag} || echo '[❌ 节点 node1 拉取失败]'"
|
|
|
+ ssh root@node2 "docker login -u ${HARBOR_USER} -p ${HARBOR_PASSWORD} ${HARBOR_HOST} && docker pull ${imageTag} || echo '[❌ 节点 node2 拉取失败]'"
|
|
|
+ """
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
stage('🚀 部署到 Kubernetes') {
|
|
|
steps {
|
|
|
script {
|
|
@@ -79,6 +95,8 @@ spec:
|
|
|
labels:
|
|
|
app: ${PROJECT_NAME}
|
|
|
spec:
|
|
|
+ imagePullSecrets:
|
|
|
+ - name: harbor-secret
|
|
|
containers:
|
|
|
- name: ${PROJECT_NAME}
|
|
|
image: ${imageTag}
|