Как предотвратить гит пуш герой мастер?
Мой рабочий процесс включает в себя следующие шаги:
Git push (в BitBucket или GitHub в зависимости от проекта).
BitBucket / GitHub интегрирован с CodeShip, тесты запущены.
Если тесты в порядке, CodeShip автоматически развертывается в Heroku.
Все работает хорошо, когда при нажатии на удаленное хранилище запускаются задачи развертывания, что приводит к запуску новой версии, когда все в порядке.
Мой вопрос:
Иногда я просто делаю git push heroku master
который побеждает всю цель этого рабочего процесса.
Как я могу предотвратить это? Есть ли способ заставить Heroku принимать развертывание только тогда, когда источником является CodeShip?
2 ответа
Оглядевшись в течение некоторого времени, я заметил, что есть несколько способов сделать это, все они связаны с тем, что просто не дают доступ к учетной записи Heroku для разработчика:
Если вы один разработчик ("шоу одного мужчины / одной женщины"):
Не добавляйте Heroku Remote в свой репозиторий Git. Если он уже добавлен, удалите его. Таким образом, вы не будете настаивать на этом по ошибке.
Если вы управляете командой:
Не предоставляйте команде пользователя / пропуск для доступа к Heroku Toolbelt. Таким образом, единственным удаленным репо, к которому они будут иметь доступ, должен быть GitHub/BitBucket/Wh независимо от того, что им нужно.
Вы можете просто создать еще одну ветку с именем dev и отправить в эту ветку свои изменения, а когда вы будете готовы развернуться на героку, слить изменения в основную ветку.
Я только что столкнулся с вашей проблемой, и это то, что я сделал как самое быстрое решение