В моем cloudbuild.yml
файле
steps:
- name: gcr.io/cloud-builders/npm
args: ['install', 'app']
- name: 'gcr.io/cloud-builders/gcloud'
args: ['app', 'deploy', 'app/${_GAE_APP_YAML}.yaml']
#Following will deploy only if the branch is develop to avoid having two testnet environments
- name: 'gcr.io/cloud-builders/gcloud'
entrypoint: 'bash'
args:
- '-c'
- |
[[ "$BRANCH_NAME" == "develop" ]] && gcloud app deploy app/${_GAE_APP_TESTNET_YAML}.yaml
timeout: 1800s
есть следующее: я хочу, чтобы первый и второй шаг выполнялись каждый раз.Однако я хочу, чтобы третий шаг выполнялся только в том случае, если BRANCH_NAME=develop
Все шаги выполняются успешно, если BRANCH_NAME=develop
.Однако, когда я фиксирую master
(BRANCH_NAME не разрабатывается), я получаю следующую ошибку:
Finished Step #1
Starting Step #2
Step #2: Already have image (with digest): gcr.io/cloud-builders/gcloud
Finished Step #2
ERROR
ERROR: build step 2 "gcr.io/cloud-builders/gcloud" failed: exit status 1
Я попытался войти в контейнер на моем локальном компьютере и протестировать его следующим образом
$ docker run --rm -it --entrypoint bash gcr.io/cloud-builders/gcloud
root@ac7edd78bea4:/# export BRANCH_NAME=develop
root@ac7edd78bea4:/# echo $BRANCH_NAME
develop
root@ac7edd78bea4:/# [[ "$BRANCH_NAME" == "develop" ]] && echo "kousgubh"
kousgubh
/# [[ "$BRANCH_NAME" == "ddfevelop" ]] && echo "kousgubh" //Doesn't print anything
Итак, состояние кажется нормальным.Чего мне не хватает?