如何在Drone中选择指定分支运行任务部署至staging环境
Drone 实现手动选分支部署到 staging 环境的解决方案
完全可以实现,以下是两种适配不同需求的配置方案:
方案1:基础手动触发配置(无权限限制)
在项目根目录的 .drone.yml 中添加专属的 staging 部署 pipeline,仅响应手动触发事件:
kind: pipeline type: docker name: 手动部署到staging环境 # 仅手动触发时才执行该流水线 trigger: event: - custom steps: - name: 执行部署 image: 你使用的部署镜像地址 # 比如带有kubectl、ssh工具的镜像 environment: # 自动获取你选择的分支名作为变量 TARGET_DEPLOY_BRANCH: ${DRONE_COMMIT_BRANCH} commands: # 以下替换为你团队的部署脚本逻辑 - git fetch origin $TARGET_DEPLOY_BRANCH - git checkout $TARGET_DEPLOY_BRANCH - ./scripts/deploy.sh staging
配置完成后,进入对应仓库的Drone任务页面,点击右上角的新建构建按钮,弹出的窗口中会自带分支下拉选择框,选择需要部署的目标分支后点击创建,即可触发对应分支的staging部署任务。
方案2:带权限控制的配置
如果需要限制只有测试团队成员可以触发该部署流水线,可以在trigger配置中添加用户过滤规则:
trigger: event: - custom # 仅列出的用户可以触发该流水线,也支持通配符匹配账号前缀 user: include: - test-* - qa-*
补充说明
如果除了分支之外还需要选择其他部署参数(比如指定部署的微服务模块、是否跳过静态资源同步等),可以在触发构建的弹窗中自定义添加键值对参数,在流水线中通过 ${PARAM_参数名} 的格式直接调用即可。
内容的提问来源于stack exchange,提问作者R. Karlus
相关产品推荐
相关产品推荐

