# 遵循文档:顶层直接写 steps 和 matrix,不写 kind 和 name matrix: include: - NODE_NAME: "集群节点A (136服务器)" SECRET_NODE_IP: "136_ssh_host" SECRET_USER_NAME: "136_ssh_user" SECRET_PASS_NAME: "136_ssh_password" - NODE_NAME: "集群节点B (114服务器)" SECRET_NODE_IP: "114_ssh_host" SECRET_USER_NAME: "114_ssh_user" SECRET_PASS_NAME: "114_ssh_password" steps: - name: 远程终端集群部署 image: docker.m.daocloud.io/appleboy/drone-ssh:latest settings: host: from_secret: ${SECRET_NODE_IP} username: from_secret: ${SECRET_USER_NAME} password: from_secret: ${SECRET_PASS_NAME} port: 22 secrets: [ aliyun_acr_username, aliyun_acr_password ] envs: [ NODE_NAME, SECRET_NODE_IP, aliyun_acr_username, aliyun_acr_password ] script: - echo "=========================================" - echo "🚀 开始部署节点:$NODE_NAME" - echo "=========================================" - docker login --username "$aliyun_acr_username" --password "$aliyun_acr_password" registry.cn-zhangjiakou.aliyuncs.com - docker stop demo-container || true - docker rm demo-container || true - docker pull registry.cn-zhangjiakou.aliyuncs.com/abhors/demo:latest - docker run -d --name demo-container -p 8080:8080 --restart always registry.cn-zhangjiakou.aliyuncs.com/abhors/demo:latest - echo "🎉 $NODE_NAME 部署成功!" when: event: [push, pull_request, manual] branch: master # 🔗 遵循文档最核心逻辑: # 因为上游文件叫 build.yaml,这里必须写去掉后缀的文件名:build depends_on: - build