根据我推送到的分支,部署到不同的防火基地站点



如果有一个带有firebase宿主的CI/CD、一个用于测试的开发站点和一个实时生产版本的生产站点,那就太好了。

我想要一个firebase触发器,当我在git repo上推送到开发分支时,它可以检测到,并且应该触发到开发站点的部署。

我想要一个单独的触发器来检测何时合并到主分支,并且应该部署到生产站点。

我的目标设置正确,而且有效。

这是我目前部署到两个站点的cloudbuild.yaml:

steps:
# Install
- name: 'gcr.io/cloud-builders/npm'
args: ['install']
# Build
- name: 'gcr.io/cloud-builders/npm'
args: ['run', 'build']
# Deploy-develop
- name: 'gcr.io/host-test-xxxxx/firebase'
args: ['deploy', '--only=hosting:develop']
# Deploy-production
- name: 'gcr.io/host-test-xxxxx/firebase'
args: ['deploy', '--only=hosting:production']

我如何添加一个东西来检测我推送到哪个分支,并且只执行Deploy开发或Deploy生产位,而不同时执行这两个位?

这可以用触发变量完成-我调整了这个tut:tut

在创建了名为production的目标别名并为firebase宿主中的两个站点进行开发后,我将Substitution变量添加到了名为_DEPLOY_to 的触发器中

然后我将cloudbuild.yaml中的脚本更改为:

# Deploy
- name: 'gcr.io/host-test-xxxxx/firebase'
args: ['deploy', '--only=hosting:$_DEPLOY_TO']