我正在尝试通过Bitbucket
管道设置自动部署,但仍然没有成功,可能是Bitbucekt
管道没有满足我的业务需求。
当前设置:
开发团队将代码从本地机器推送到默认分支。并且作为团队负责人,通过直接
UAT
在服务器上运行命令来手动检查他们的代码并在生产服务器上进行更新CLI
。#hg branch #hg pull #hg update
我们想要的自动化部署:
- 我们有 3 个环境 DEV、UAT/Staging 和生产。
- 在我创建的环境的基础上
- 发布分支。分别为 DEV-Release、UAT-Release 和 PROD-Release。
- 开发团队将代码直接推送到默认分支开发负责人将检查更改,然后创建一个默认为 UAT-Release 分支的拉取请求表单,在 UAT 服务器上成功部署后,再次创建从默认到生产分支和管道的拉取请求应该是在拉取请求上执行,然后开始将 bundle.zip 复制到 AWS S3 上,然后复制到 AWS EC2 实例。
问题 :
我面临的问题bitbucket-pipeline.yml
在所有发布分支上都不相同,因为分支名称不同,因为当我们为任何发布分支创建拉取请求时,我们会遇到该文件的冲突。我知道为什么我可以bitbucket-pipline.yml
对所有分支使用相同的文件,并且部署应该发生在为其创建拉取请求的特定位置上。我们可以使所有具有环境变量的分支的文件动态化吗?如果bitbucket
管道无法满足我的业务需求,那么其他解决方案是什么?如果你们认为我的业务需求不好或不合理,请告诉我我必须更改哪些步骤才能实现自动化部署的最终结果
流程: 开发人员机器推送到--> Bitbucket 默认分支 ---> 领导将审查代码,然后为任何分支(UAT、PROD)拉取请求 ---> 管道将被执行并将代码推送到 S3 存储桶 --- -> Awscodedeply ---> EC2 应用服务器。
等待及时响应。