$: # vscode 事件:专供页面中启动远程开发用 vscode: - docker: image: node:24 services: - vscode - docker stages: - name: init script: npm install pnpm -g && pnpm i $: main: web_trigger_test: - docker: image: node:22-slim imports: https://cnb.cool/risenstars/iot-env/-/blob/main/env.yml stages: - name: build cach image type: docker:cache options: dockerfile: cache.dockerfile by: - package.json - package-lock.json versionBy: - package-lock.json exports: name: DOCKER_CACHE_IMAGE_NAME - name: use cache image: $DOCKER_CACHE_IMAGE_NAME commands: - cp -r /app/.pnpm-store ./.pnpm-store - name: build with cache script: - mv ./apps/web-tdesign/.env.production ./apps/web-tdesign/.env.production.back - mv ./apps/web-tdesign/.env.pre ./apps/web-tdesign/.env.production - pnpm run build:tdesign - name: 使用 rsync 复制文件 image: tencentcom/rsync settings: hosts: - ${REMOTE_HOST} user: ${REMOTE_USERNAME} key: ${PRIVATE_KEY} port: ${REMOTE_PORT} target: /www/wwwroot/hub.risenstars.com/pre source: ./apps/web-tdesign/dist web_trigger_prod: - docker: image: node:24 imports: https://cnb.cool/risenstars/iot-env/-/blob/main/env.yml stages: - name: npm install script: | npm install -g pnpm pnpm install --no-frozen-lockfile pnpm run build pnpm run build:tdesign:prod - name: 使用 rsync 复制文件 image: tencentcom/rsync settings: hosts: - ${REMOTE_HOST} user: ${REMOTE_USERNAME} key: ${PRIVATE_KEY} port: ${REMOTE_PORT} target: /www/wwwroot/hub.risenstars.com/prod source: ./apps/web-tdesign/dist