From f875c6f1afcc3ee369878dd9e5e40caea27de0de Mon Sep 17 00:00:00 2001 From: tianfeng <769204422@qq.com> Date: Fri, 27 Mar 2026 18:17:14 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9Eazizi=20dev=E7=8E=AF=E5=A2=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env.development | 2 +- Dockerfile-dev | 6 ++++++ pipeline-dev | 52 +++++++++++++++++++++++++++++++----------------- 3 files changed, 41 insertions(+), 19 deletions(-) create mode 100644 Dockerfile-dev diff --git a/.env.development b/.env.development index dd25abc..121448a 100644 --- a/.env.development +++ b/.env.development @@ -1,6 +1,6 @@ # 开发环境 VITE_NODE_ENV=development -VITE_API_BASE_URL=https://api.likeichat.com +VITE_API_BASE_URL=https://h5test.azizichat.com # VITE_API_BASE_URL=http://192.168.0.136:1100 VITE_APP_TITLE=Azizi H5 (Development) diff --git a/Dockerfile-dev b/Dockerfile-dev new file mode 100644 index 0000000..5de74ad --- /dev/null +++ b/Dockerfile-dev @@ -0,0 +1,6 @@ +FROM registry.cn-hangzhou.aliyuncs.com/public_mirror_images/nginx:1.26.2 +COPY dist/ /usr/share/nginx/html/ +COPY nginx/nginx.conf /etc/nginx/nginx.conf +COPY nginx/default.conf /etc/nginx/conf.d/default.conf +EXPOSE 80 + diff --git a/pipeline-dev b/pipeline-dev index 19c7eba..22d2288 100644 --- a/pipeline-dev +++ b/pipeline-dev @@ -1,39 +1,54 @@ pipeline { agent { - label "dev" + label "dev" } + tools { + nodejs 'node22' + } + environment { - BUILD_IMAGE = "${sh(script:'echo -n likei-dev:likei-h5-$(date +%Y%m%dv%H%M%S)', returnStdout: true)}" - IMAGE_REP_TAG = "989328288674.dkr.ecr.ap-southeast-1.amazonaws.com/" - K8S_NAMESPACE = "local" - K8S_DEPLOYMENT = "likei-h5" - K8S_APP_LABEL = "likei-h5" + PATH = "/var/jenkins_home/docker-cli/bin:/var/jenkins_home/kubectl/bin:${env.PATH}" + BUILD_IMAGE = "${sh(script:'echo -n azizi-dev:azizi-h5-$(date +%Y%m%dv%H%M%S)', returnStdout: true)}" + ALIYUN_REGISTRY = "registry.cn-hangzhou.aliyuncs.com/azizi-dev/azizi-h5" + IMAGE_REP_TAG = "" + K8S_NAMESPACE = "azizi" + K8S_DEPLOYMENT = "azizi-h5" + K8S_APP_LABEL = "azizi-h5" + DOCKER_FILE = "Dockerfile-dev" } stages { stage('Build') { steps { - sh 'export PATH=$HOME/bin:$PATH &&export NODE_HOME=/usr/local/node-v22.18.0 &&export PATH=$NODE_HOME/bin:$PATH &&export PATH=$PATH:/usr/local/go/bin &&npm install' - sh 'export PATH=$HOME/bin:$PATH &&export NODE_HOME=/usr/local/node-v22.18.0 &&export PATH=$NODE_HOME/bin:$PATH &&export PATH=$PATH:/usr/local/go/bin &&npm run build:prod' + sh 'export PATH=$HOME/bin:$PATH && export NODE_HOME=/usr/local/node && export PATH=$NODE_HOME/bin:$PATH && npm config set registry https://registry.npmmirror.com && npm install' + sh 'export PATH=$HOME/bin:$PATH && export NODE_HOME=/usr/local/node && export PATH=$NODE_HOME/bin:$PATH && npm run build:dev' sh 'du -sh dist' script { - IMAGE_REP_TAG="${sh(script:'echo -n ${IMAGE_REP_TAG}${BUILD_IMAGE}', returnStdout: true)}" + IMAGE_REP_TAG = "${ALIYUN_REGISTRY}:azizi-h5-${sh(script:'date +%Y%m%dv%H%M%S', returnStdout: true).trim()}" } + echo "---> Image registry tag: ${IMAGE_REP_TAG}" } } stage('Build image') { steps { - sh "aws ecr get-login-password --region ap-southeast-1 | docker login --username AWS --password-stdin 989328288674.dkr.ecr.ap-southeast-1.amazonaws.com" - sh "docker build -t ${BUILD_IMAGE} ." + withCredentials([usernamePassword( + credentialsId: 'aliyun-registry', + usernameVariable: 'ALIYUN_USER', + passwordVariable: 'ALIYUN_PASS' + )]) { + sh 'echo $ALIYUN_PASS | docker login --username $ALIYUN_USER --password-stdin registry.cn-hangzhou.aliyuncs.com' + } + sh "docker build -f ${DOCKER_FILE} -t ${IMAGE_REP_TAG} ." } } stage('Upload image') { steps { - sh "docker tag ${BUILD_IMAGE} ${IMAGE_REP_TAG}" sh "docker push ${IMAGE_REP_TAG}" - sh "docker rmi -f ${BUILD_IMAGE} ${IMAGE_REP_TAG}" + sh "docker tag ${IMAGE_REP_TAG} ${ALIYUN_REGISTRY}:latest" + sh "docker push ${ALIYUN_REGISTRY}:latest" + sh "docker rmi -f ${IMAGE_REP_TAG} ${ALIYUN_REGISTRY}:latest" } } stage('Apply') { @@ -42,9 +57,10 @@ pipeline { } } } - post { - always { - cleanWs() - } - } + + post { + always { + cleanWs() + } + } }