這個是在建立專案時就需要選定的,主要用於決定哪些人可以訪問此專案,包含3種
在滿足行為許可權之前,必須具備訪問許可權(如果沒有訪問許可權,那就無所謂行為許可權了),行為許可權是指對該專案進行某些操作,比如提交、建立問題、建立新分支、刪除分支、建立標籤、刪除標籤等.
gitlab定義了以下幾個角色:
不同角色,擁有不同許可權,下面列出gitlab各角色許可權
行為guest
reporter
developer
master
owner
建立issue✓✓
✓✓✓✓
✓✓✓✓
更新**✓✓
✓✓✓✓
✓✓建立**片段✓✓
✓✓建立合併請求✓✓
✓建立新分支✓✓
✓提交**到非保護分支✓✓
✓強制提交到非保護分支✓✓
✓移除非保護分支✓✓
✓新增tag✓✓
✓建立wiki✓✓
✓管理issue處理者✓✓
✓管理labels✓✓
✓建立里程碑✓✓
新增專案成員✓✓
提交保護分支✓✓
使能分支保護✓✓
修改/移除tag✓✓
編輯工程✓✓
新增deploy keys✓✓
配置hooks✓✓
切換visibility level
✓切換工程namespace
✓移除工程
✓強制提交保護分支
✓移除保護分支
✓更多許可權請檢視:
ps: 關於保護分支的設定,可以進入settings->protected branches進行管理
在專案中,我想去限制developer的許可權,比如不能讓developer管理merge請求。
有乙個辦法就是直接修改gitlab的原始碼,上述的行為許可權都會定義在project_policy.rb檔案中,我們只需要新增或刪除相應的許可權
rule .policy do
enable :admin_board
# 管理merge請求行為
# enable :admin_merge_request
enable :admin_milestone
# 更新merge請求行為
# enable :update_merge_request
enable :reopen_merge_request
enable :create_commit_status
enable :update_commit_status
enable :create_build
enable :update_build
enable :create_pipeline
enable :update_pipeline
enable :read_pipeline_schedule
enable :create_pipeline_schedule
enable :create_merge_request_from
enable :create_wiki
enable :push_code
enable :resolve_note
enable :create_container_image
enable :update_container_image
enable :destroy_container_image
enable :create_environment
enable :create_deployment
enable :create_release
enable :update_release
end
ps: gitlab版本號為12.3 GitLab使用者許可權管理
一 gitlab使用者許可權管理 gitlab使用者在組中有五種許可權 guest reporter developer master owner 2.reporter 可以轉殖 不能提交,qa pm可以賦予這個許可權 3.developer 可以轉殖 開發 提交 push rd可以賦予這個許可權 ...
GitLab使用者許可權管理
一 gitlab使用者許可權管理 gitlab使用者在組中有五種許可權 guest reporter developer master owner 2.reporter 可以轉殖 不能提交,qa pm可以賦予這個許可權 3.developer 可以轉殖 開發 提交 push rd可以賦予這個許可權 ...
Gitlab 之 使用者許可權管理
gitlab 使用者在 group 中有五種許可權,我將通過下邊的 對這些許可權進行總結 許可權名可執行的操作 適用的人 guest 純訪客reporter 可以轉殖 不能提交 測試人員 專案管理人員 developer 可以轉殖 pull push 開發人員 maintainer master 可...