Common Q&A of gitlab-ce
Q1. 能否保護特定branch不讓人Push?
可以,並可將使用者分成五種權限,分別可以對CI/CD不同階段有不同的操作。
可以依Group設定對Group底下所有Repository的權限
亦可依每個Repository做設定,假設兩者都有設定了,會以比較高的為優先
e.g., Jimmy在Group的權限預設是Guest,在A repository是 Developer。則在該Repository的權限即是Developer,可以PUSH到 Unprotected的 branch
可以依Group設定對Group底下所有Repository的權限
亦可依每個Repository做設定,假設兩者都有設定了,會以比較高的為優先
e.g., Jimmy在Group的權限預設是Guest,在A repository是 Developer。則在該Repository的權限即是Developer,可以PUSH到 Unprotected的 branch
Q2. 能否有討論區
有接近需求的討論區(Issue),但畢竟是respositry based的,所以沒有獨立討論區
但每個repository都有一個Issue block可以討論
但每個repository都有一個Issue block可以討論
Q3. 能否有Webhook通知?
能,以Slack來說,可以依據想通知的事件(e.g., Push, Issue…etc)
發通知到Slack
Mail的部分要另外設定SMTP,可以自架mail server(郵件伺服器)
亦可用外部或公司內部郵件伺服器服務
信件的通知,比較是走個人訂閱層面的;Webhook的用途比較像廣播
發通知到Slack
Mail的部分要另外設定SMTP,可以自架mail server(郵件伺服器)
亦可用外部或公司內部郵件伺服器服務
信件的通知,比較是走個人訂閱層面的;Webhook的用途比較像廣播
Q4. 上的Change如何link到Issue
透過Crosslinking Issue。
在Commit Message加上 #<該Issue編號> push上來,在gitlab瀏覽時會自動連結,如下
在Commit Message加上 #<該Issue編號> push上來,在gitlab瀏覽時會自動連結,如下
Q5. 能否像Gerrit Server Cherry-pick 一個change?
可以。程序是
- 先push到一個非target branch
- 從gitlab 操作介面對該change cherrypick 並發merge pull request過去
此時會產生一個cherry-pick-xxx的temporary branch,那筆change就在其上 - Target branch的maintainer如果覺得OK就可以merge該cherry-pick-xxx branch
留言
張貼留言