是否可以在Atlassian Stash / Bitbucket中“锁定”存储库?

时间:2013-06-24 18:58:09

标签: bitbucket-server

有没有办法可以阻止开发人员推送到特定的存储库(例如,如果构建被破坏,我们不希望在当前版本修复之前允许任何新代码)?我想这需要我们也允许特定用户推送,同时否认开发团队的其余部分。这样的事情可能吗?

2 个答案:

答案 0 :(得分:2)

正如克里斯蒂安的回答所暗示的那样,操纵Stash的回购/分支权限是实现这一目标的一种方式。但是,进入UI来执行此操作可能有点麻烦。如果您希望能够快速和/或定期执行此操作,则可以考虑使用Stash REST API自动执行或简化锁定存储库的过程。

或者,您可以使用Java API将自定义逻辑注入到Stash的git之前和之后的提交挂钩中。这是(诚然,营销 - 纺纱)description of the feature。 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

答案 1 :(得分:0)

可以设置对项目或回购或分支的访问权限 - 所以是的,如果您为单个用户或用户设置访问权限,则可以将其锁定。