This commit is contained in:
Yvan
2026-09-23 17:42:55 +08:00
parent 53e8599bdd
commit 0a8ecbe09b
75 changed files with 2299 additions and 276 deletions
+26 -1
View File
@@ -35,6 +35,7 @@ pipeline {
REGISTRY_NAMESPACE = 'live'
BACKEND_IMAGE = "${REGISTRY_HOST}/${REGISTRY_NAMESPACE}/backend"
FRONTEND_IMAGE = "${REGISTRY_HOST}/${REGISTRY_NAMESPACE}/frontend"
LIVEWEB_IMAGE = "${REGISTRY_HOST}/${REGISTRY_NAMESPACE}/live-web"
DEPLOY_HOST = 'root@192.168.2.226'
BIN_NAME = 'kratos-admin'
APP_BASE = 'live' // 前端 vite base 与 nginx 服务名前缀
@@ -67,6 +68,7 @@ pipeline {
echo "Deploy mode: ${params.DEPLOY_MODE}"
echo "Backend : ${env.BACKEND_IMAGE}:${env.DEPLOY_IMAGE_TAG}"
echo "Frontend: ${env.FRONTEND_IMAGE}:${env.DEPLOY_IMAGE_TAG}"
echo "LiveWeb : ${env.LIVEWEB_IMAGE}:${env.DEPLOY_IMAGE_TAG}"
}
}
}
@@ -103,6 +105,23 @@ pipeline {
}
}
stage('Build Live Web') {
when {
expression { params.DEPLOY_MODE == 'BUILD_AND_DEPLOY' }
}
steps {
// PC 直播用户端与后端同仓维护,确保当前提交中的接口与页面一起发布。
// HTTP/WS 均请求同源 /api,由站点 nginx 去前缀转发到后端。
sh '''
docker run --rm \
-v "$PWD/frontend:/app" -w /app \
-e npm_config_registry=https://registry.npmmirror.com \
docker.m.daocloud.io/node:20-slim \
bash -lc "npm ci --no-audit --no-fund && npm run build"
'''
}
}
stage('Build Images') {
when {
expression { params.DEPLOY_MODE == 'BUILD_AND_DEPLOY' }
@@ -119,6 +138,10 @@ pipeline {
--tag ${FRONTEND_IMAGE}:${DEPLOY_IMAGE_TAG} \
--tag ${FRONTEND_IMAGE}:latest \
web
docker build \
--tag ${LIVEWEB_IMAGE}:${DEPLOY_IMAGE_TAG} \
--tag ${LIVEWEB_IMAGE}:latest \
frontend
'''
}
}
@@ -135,6 +158,8 @@ pipeline {
docker push ${BACKEND_IMAGE}:latest
docker push ${FRONTEND_IMAGE}:${DEPLOY_IMAGE_TAG}
docker push ${FRONTEND_IMAGE}:latest
docker push ${LIVEWEB_IMAGE}:${DEPLOY_IMAGE_TAG}
docker push ${LIVEWEB_IMAGE}:latest
docker logout "${REGISTRY_HOST}"
'''
}
@@ -154,7 +179,7 @@ pipeline {
post {
success {
echo "Deployed ${BACKEND_IMAGE}:${DEPLOY_IMAGE_TAG} / ${FRONTEND_IMAGE}:${DEPLOY_IMAGE_TAG}"
echo "Deployed ${BACKEND_IMAGE}:${DEPLOY_IMAGE_TAG} / ${FRONTEND_IMAGE}:${DEPLOY_IMAGE_TAG} / ${LIVEWEB_IMAGE}:${DEPLOY_IMAGE_TAG}"
}
}
}