В моем репозитории проекта Bitbucket у меня есть 3 ветки
- master
- staging
- development
На моем аккаунте Heroku яесть два приложения
- MyProductionApp
- MyStagingApp
Оба приложения одинаковы, с той лишь разницей, что мне предоставлен промежуточный доступ для демонстраций или для демонстрации новых функцийпрежде чем они будут внедрены в производство.
Как вы можете понять, главная ветвь предполагает создание MyProductionApp, а промежуточная ветвь предполагает развертывание MyStagingApp.В ветке разработки происходит активная разработка, которая затем объединяется с staging / master с помощью запросов на извлечение.
Я установил файл bitbucket-pipelines.yml следующим образом
image: node:6.9.4
clone:
depth: full
pipelines:
default:
- step:
script: #default script to run
- echo "This default script will run when something is pushed to this branch"
branches:
master:
- step:
name: Heroku Production Deployment
deployment: production
caches:
- node
script: #deploy master branch to heroku prod app
- npm install
- git push https://heroku:$HEROKU_API_KEY@git.heroku.com/$HEROKU_PROD_APP.git HEAD:master
staging:
- step:
name: Heroku Staging Deployment
deployment: staging
caches:
- node
script: #deploy staging branch to heroku staging app
- npm install
- git push https://heroku:$HEROKU_API_KEY@git.heroku.com/$HEROKU_STAGING_APP.git HEAD:staging
ThisФайл .yml одинаков для всех трех ветвей.
Проблема в том, что когда что-то выталкивается / объединяется, создается только мастер.Он никогда не собирает мое промежуточное приложение.
Так что, если я добавлю новый код и просто сливаюсь с подготовкой, он запустит этот файл .yml, но соберет только мастер.В логах конвейера мне выдается следующее сообщение
git push https://heroku:$HEROKU_API_KEY@git.heroku.com/$HEROKU_STAGING_APP.git HEAD: stagingremote: отправлено в неосновную ветку, пропуская сборку.
В результате я не могу продемонстрировать новые функции или исправления ошибок в промежуточном приложении.Любая идея, почему он пропускает сборку на ветке "non-master"?Какие настройки мне нужно сделать, чтобы это произошло?