構建步驟
執行 shell
#CICD ip: 172.23.170.79 當前3台ECS只能通過通過公司專線ip60.174.203.184基於密鑰登錄。
#TEST ip: 172.23.170.81
#PROD ip: 172.23.170.80
#構建目錄、切分支、更新代碼、執行構建,如果代碼框架插件更新需額外執行pnpm i
ssh -o StrictHostKeyChecking=no -p 5222 root@172.23.170.79 "
cd /data/qrbuild/juqing_ui_web &&
git switch ${GIT_BRANCH#origin/} && # 處理分支名,移除可能的'origin/'前綴
git pull &&
pnpm run build:test
"
#發佈
ssh -o StrictHostKeyChecking=no -p 5222 root@172.23.170.81 "hostname"
rsync -avz -e 'ssh -o StrictHostKeyChecking=no -p 5222' /data/qrbuild/juqing_ui_web/dist-test/ root@172.23.170.81:/data/nginx/html/dist
cat docker-compose.yml
version: '3.8'
services:
jenkins:
image: localhost/jenkins_qinrui:202511261055
#image: docker.m.daocloud.io/jenkins/jenkins:lts-jdk17
container_name: jenkins
user: root
hostname: jenkins
restart: unless-stopped
ports:
- "8088:8088"
- "50000:50000"
volumes:
#- /root/.nvm/versions/node/v22.20.0:/opt/node:ro
#- /usr/local/maven:/usr/local/maven:ro
#- /usr/lib/jvm/jdk1.8.0_381:/usr/lib/jvm/jdk1.8.0_381:ro
- /data/jenkins/jenkins_home:/var/jenkins_home
- /root/.ssh:/root/.ssh:ro
#- /data/qrbuild/juqing_ui_web:/data/qrbuild/juqing_ui_web:rw
- /data/qrbuild:/data/qrbuild:rw
environment:
- JAVA_OPTS=-Djava.awt.headless=true -Xmx2048m -Dhudson.model.DownloadService.noSignatureCheck=true
- JENKINS_OPTS=--httpPort=8088
- TZ=Asia/Shanghai
security_opt:
- label=disable
#user: "1000:1000"
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "3"