У меня есть сценарий travis, развертываемый в разные сегменты S3 на основе 2 условий: 1. имя ветви 2. переменная $TRAVIS_BRANCH
env
... travis stuff
deploy:
- provider: s3
... other config
bucket: my-staging-bucket
on:
repo: MyOrg/my-repo
branch: staging
condition: $TRAVIS_BRANCH = staging
- provider: s3
... other config
bucket: my-prod-bucket
on:
repo: MyOrg/my-repo
branch: production
condition: $TRAVIS_BRANCH = production
Работает, как и ожидалось: при развертывании в промежуточную версиюпервый конфигурационный файл успешно создается и развертывается, и мне выдается соответствующий обмен сообщениями в журнале заданий Travis.
Он также пытается выполнить развертывание в рабочей среде и останавливается условиями on:
, снова предоставляя обмен сообщениями, который указывает намного.Полученные в результате сообщения журнала выглядят так: первые две строки указывают на успешное депонирование на промежуточную стадию и отсутствие развертывания на производственном уровне.
-Preparing deploy
-Deploying application
-Skipping a deployment with the s3 provider because a custom condition was not met
Это согласуется при обратной ситуации:
-Skipping a deployment with the s3 provider because this branch is not permitted: production
-Skipping a deployment with the s3 provider because a custom condition was not met
...
-Preparing deploy
-Deploying application
Это привело к некоторой путанице в команде, так как обмен сообщениями выглядит ложно отрицательным, что указывает на сбой развертывания, когда он фактически функционирует как задумано. Я хотел бы настроить Travis таким образом, чтобы он запускал сценарий развертывания только для этой ветви и комбинированной переменной env .
Есть ли способ сделать это?У меня сложилось впечатление, что это был метод условного развертывания.
Если нет способа предотвратить запуск обоих заданий развертывания, есть ли способ подавить обмен сообщениями в журнале заданий?