Битбакет конвейер строит только мастер - PullRequest
0 голосов
/ 09 октября 2018

В моем репозитории проекта Bitbucket у меня есть 3 ветки

  1. master
  2. staging
  3. development

На моем аккаунте Heroku яесть два приложения

  1. MyProductionApp
  2. 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"?Какие настройки мне нужно сделать, чтобы это произошло?

...