Как предотвратить гит пуш герой мастер?

Мой рабочий процесс включает в себя следующие шаги:

  1. Git push (в BitBucket или GitHub в зависимости от проекта).

  2. BitBucket / GitHub интегрирован с CodeShip, тесты запущены.

  3. Если тесты в порядке, CodeShip автоматически развертывается в Heroku.

Все работает хорошо, когда при нажатии на удаленное хранилище запускаются задачи развертывания, что приводит к запуску новой версии, когда все в порядке.

Мой вопрос:

Иногда я просто делаю git push heroku master который побеждает всю цель этого рабочего процесса.

Как я могу предотвратить это? Есть ли способ заставить Heroku принимать развертывание только тогда, когда источником является CodeShip?

2 ответа

Решение

Оглядевшись в течение некоторого времени, я заметил, что есть несколько способов сделать это, все они связаны с тем, что просто не дают доступ к учетной записи Heroku для разработчика:

  1. Если вы один разработчик ("шоу одного мужчины / одной женщины"):

    Не добавляйте Heroku Remote в свой репозиторий Git. Если он уже добавлен, удалите его. Таким образом, вы не будете настаивать на этом по ошибке.

  2. Если вы управляете командой:

    Не предоставляйте команде пользователя / пропуск для доступа к Heroku Toolbelt. Таким образом, единственным удаленным репо, к которому они будут иметь доступ, должен быть GitHub/BitBucket/Wh независимо от того, что им нужно.

Вы можете просто создать еще одну ветку с именем dev и отправить в эту ветку свои изменения, а когда вы будете готовы развернуться на героку, слить изменения в основную ветку.

Я только что столкнулся с вашей проблемой, и это то, что я сделал как самое быстрое решение

Другие вопросы по тегам