# 定义通用的构建配置 .common_build: &common_build docker: image: node:20 volumes: - /workspace/.pnpm-store:cow - /workspace/node_modules:cow - /root/.cache/node/corepack:cow ifModify: - packages/design/** # 定义通用的构建阶段 .common_stages: &common_stages - name: 启用 corepack script: corepack enable - name: 安装依赖 script: pnpm install --frozen-lockfile # 定义通用的rsync设置 .common_rsync_settings: &common_rsync_settings hosts: - $REMOTE_HOST user: $REMOTE_USERNAME key: $PRIVATE_KEY port: $REMOTE_PORT source: ./packages/design/dist/ recursive: true # test 分支配置 test: push: - <<: *common_build # 加载密钥到环境变量:https://docs.cnb.cool/build/env.html#dao-ru-huan-jing-bian-liang imports: https://cnb.cool/ourschool.cc/secret/frontend/-/blob/main/secret-test.yml stages: - *common_stages - name: 编译 script: cd packages/design && pnpm build exports: publish_name: PUBLISH_NAME - name: 使用 rsync 将文件上传到服务器 image: tencentcom/rsync settings: <<: *common_rsync_settings target: /home/www-data/public_html/test-app.ourschool.cc/${PUBLISH_NAME}/ # master 分支配置 master: push: - <<: *common_build # 加载密钥到环境变量:https://docs.cnb.cool/build/env.html#dao-ru-huan-jing-bian-liang imports: https://cnb.cool/ourschool.cc/secret/frontend/-/blob/main/secret.yml stages: - *common_stages - name: 编译 script: cd packages/design && pnpm build exports: publish_name: PUBLISH_NAME - name: 使用 rsync 将文件上传到服务器 image: tencentcom/rsync settings: <<: *common_rsync_settings target: /home/www-data/public_html/app.ourschool.cc/${PUBLISH_NAME}/