Files
resume/Jenkinsfile
oasis 7352b9d4d0
Some checks failed
oasis/resume/pipeline/head There was a failure building this commit
perf:通过jenkins部署resume页面
2026-01-20 06:12:10 +00:00

121 lines
3.8 KiB
Groovy

pipeline {
agent {
kubernetes {
yaml """
apiVersion: v1
kind: Pod
metadata:
labels:
app: docker-builder
spec:
imagePullSecrets:
- name: hub-auth
containers:
- name: docker-client
image: harbor.ingress.lab.gitfitlive.com/mirror/docker:latest
command: ['cat']
tty: true
env:
- name: DOCKER_HOST
value: tcp://localhost:2376
- name: DOCKER_TLS_CERTDIR
value: "/certs"
- name: DOCKER_CERT_PATH
value: "/certs/client"
- name: DOCKER_TLS_VERIFY
value: "1"
volumeMounts:
- name: docker-certs
mountPath: /certs
readOnly: true
- name: docker-dind
image: harbor.ingress.lab.gitfitlive.com/mirror/docker:dind
securityContext:
privileged: true
env:
- name: DOCKER_TLS_CERTDIR
value: "/certs"
volumeMounts:
- name: docker-certs
mountPath: /certs
volumes:
- name: docker-certs
emptyDir: {}
"""
}
}
environment {
HARBOR = 'harbor.ingress.lab.gitfitlive.com'
CONTAINER_NAME = 'harbor.ingress.lab.gitfitlive.com/oasis/resume:latest'
}
stages {
stage('Docker Build') {
steps {
container('docker-client') {
script {
echo "等待 Docker 服务就绪..."
retry(30) {
sleep 3
sh """
if ! docker info > /dev/null 2>&1; then
echo "Docker 守护进程未就绪,等待 10 秒..."
exit 1
fi
"""
}
withCredentials([
usernamePassword(
credentialsId: 'harbor-credentials',
usernameVariable: 'HARBOR_USERNAME',
passwordVariable: 'HARBOR_PASSWORD'
)
]) {
sh """
docker login -u "\$HARBOR_USERNAME" -p "\$HARBOR_PASSWORD" https://harbor.ingress.lab.gitfitlive.com
"""
}
echo "Packing the docker image..."
sh """
docker build -t $CONTAINER_NAME .
docker push $CONTAINER_NAME
"""
echo "Packing the docker image complete."
}
}
}
}
stage('deploy at home') {
agent {
label 'prod && home'
}
steps {
withCredentials([
usernamePassword(
credentialsId: 'harbor-credentials',
usernameVariable: 'HARBOR_USERNAME',
passwordVariable: 'HARBOR_PASSWORD'
)
]) {
sh """
docker login -u "\$HARBOR_USERNAME" -p "\$HARBOR_PASSWORD" https://harbor.ingress.lab.gitfitlive.com
"""
}
echo "Pulling the docker image..."
sh """
docker pull $CONTAINER_NAME
"""
echo "Pulling the docker image complete."
echo "starting the docker image ..."
sh """
docker run -itd -p 8080:80 -n resume $CONTAINER_NAME
"""
echo "starting the docker image complete."
}
}
}