在 Bitbucket 管道中定义多个环境构建
Defining multiple environment builds in Bitbucket pipelines
我发现与 Bitbucket 管道存在矛盾,我认为这是我的误解造成的
我想创建一个用于暂存的管道和一个用于生产的管道。这 2 个管道之间的区别在于每个管道都为 deployment
设置了不同的值,因此我可以使用管道部署变量
由于 develop
合并到 master
的自然流程,我无法在每个分支上保留单独的 bitbucket-pipelines.yml
版本,因为 develop
的下一次合并 - > master
将更新管道的 master
分支版本
所以我似乎需要 bitbucket-pipelines.yml
的单一版本,只有在可以在该文件中定义多个环境的情况下才可以,但在我看来目前情况不可能如此
image: fkmy/atlassian-pipeline-awscli-node:latest
pipelines:
custom:
staging:
- step:
name: Staging Deployment
deployment: staging
services:
- docker
script:
- echo "Do something specific to ${ENVIRONMENT}
production:
- step:
name: Production Deployment
deployment: production
services:
- docker
script:
- echo "Do something specific to ${ENVIRONMENT}
在上面的示例中,${ENVIRONMENT} 将是 Pipelines 部署变量中的一个变量集
但是上述管道在管道 selection
中没有得到 staging
或 environment
的识别
我不能使用 branches
部分,因为我不希望在每次提交到存储库时都对 staging
或 production
进行部署
我的总体目标是能够通过 Run pipeline
按钮手动 运行 暂存或生产部署,并能够 select 部署到 [=25] 的环境=]
首先,您的 Deployments 应该有上面提到的部署组,如附图所示(这可以在 Repository settings 中找到,名称可以根据您的需要而不同)。之后你有两种方法可以做到这一点。要么在管道中包含 Env 变量,要么将它们包含在“部署”页面上,在这两种情况下,您都可以使用有关特定部署组的变量。更简洁的方法是将其添加到部署组。
我发现与 Bitbucket 管道存在矛盾,我认为这是我的误解造成的
我想创建一个用于暂存的管道和一个用于生产的管道。这 2 个管道之间的区别在于每个管道都为 deployment
设置了不同的值,因此我可以使用管道部署变量
由于 develop
合并到 master
的自然流程,我无法在每个分支上保留单独的 bitbucket-pipelines.yml
版本,因为 develop
的下一次合并 - > master
将更新管道的 master
分支版本
所以我似乎需要 bitbucket-pipelines.yml
的单一版本,只有在可以在该文件中定义多个环境的情况下才可以,但在我看来目前情况不可能如此
image: fkmy/atlassian-pipeline-awscli-node:latest
pipelines:
custom:
staging:
- step:
name: Staging Deployment
deployment: staging
services:
- docker
script:
- echo "Do something specific to ${ENVIRONMENT}
production:
- step:
name: Production Deployment
deployment: production
services:
- docker
script:
- echo "Do something specific to ${ENVIRONMENT}
在上面的示例中,${ENVIRONMENT} 将是 Pipelines 部署变量中的一个变量集
但是上述管道在管道 selection
中没有得到staging
或 environment
的识别
我不能使用 branches
部分,因为我不希望在每次提交到存储库时都对 staging
或 production
进行部署
我的总体目标是能够通过 Run pipeline
按钮手动 运行 暂存或生产部署,并能够 select 部署到 [=25] 的环境=]
首先,您的 Deployments 应该有上面提到的部署组,如附图所示(这可以在 Repository settings 中找到,名称可以根据您的需要而不同)。之后你有两种方法可以做到这一点。要么在管道中包含 Env 变量,要么将它们包含在“部署”页面上,在这两种情况下,您都可以使用有关特定部署组的变量。更简洁的方法是将其添加到部署组。