Можно ли «заблокировать» репозитории в Atlassian Stash/Bitbucket?

Есть ли способ предотвратить отправку разработчиками определенного репозитория (например, если сборка сломана и мы не хотим разрешать какой-либо новый код, пока текущая сборка не будет исправлена)? Я предполагаю, что это потребует, чтобы мы также разрешили определенным пользователям продвигать, в то же время запрещая остальной части команды разработчиков. Возможно ли что-то подобное?


person MrDuk    schedule 24.06.2013    source источник


Ответы (2)


Как предполагает ответ Кристиана, манипулирование разрешениями репо/ветки Stash является одним из способов добиться этого. Однако вход в пользовательский интерфейс для этого может быть немного громоздким. Если это то, что вы хотите делать быстро и/или регулярно, вы можете рассмотреть возможность использования Stash REST API для автоматизации или упрощения процесса блокировки репозитория.

Кроме того, вы можете внедрить пользовательскую логику в обработчики коммитов Stash до и после git, используя Java API. Вот описание этой функции. На Atlassian Marketplace уже есть надстройка Stash, которая, похоже, может удовлетворить ваши потребности, хотя я сам не использовал ее и не могу порекомендовать, если она хороша: https://marketplace.atlassian..com/plugins/com.risingoak.stash.plugins.stash-broken-build-hook

Если вы хотите запачкать руки, вы можете написать свой собственный хук перед фиксацией, чтобы сделать это. Если вы уже знакомы с созданием подключаемых модулей Atlassian, вы можете начать здесь: https://developer.atlassian.com/stash/docs/2.2.0/how-tos/repo-hook-examples/async-post-receive-config.html

Если вы никогда раньше не создавали подключаемый модуль, вам следует сначала изучить это руководство: https://developer.atlassian.com/display/DOCS/Set+up+the+Atlassian+Plugin+SDK+and+Build+a+Project

person jaysee00    schedule 25.07.2013

Можно установить права доступа к проекту, репозиторию или ветке - так что да, вы можете заблокировать его, если вы установите права доступа для одного или пользователя.

person Christian Koch    schedule 25.06.2013