1. 程式人生 > 實用技巧 >docker執行gerrit(程式碼審查工具)

docker執行gerrit(程式碼審查工具)

gerrit是什麼?

Gerrit,一種免費、開放原始碼的程式碼審查軟體,使用網頁介面。

gerrit背景

Gerrit,一種免費、開放原始碼的程式碼審查軟體,使用網頁介面。利用網頁瀏覽器,同一個團隊的軟體程式設計師,可以相互審閱彼此修改後的程式程式碼,決定是否能夠提交,退回或者繼續修改。它使用Git作為底層版本控制系統。它分支自Rietveld,作者為Google公司的Shawn Pearce,原先是為了管理Android計劃而產生。

軟體歷史

這個軟體的名稱,來自於荷蘭設計師赫裡特·裡特費爾德(Gerrit Rietveld)。最早它是由Python寫成,在第二版後,改成用JavaSQL

。使用Google Web Toolkit來產生前端的JavaScript

gerrit可以組成持續部署關鍵性的一環,和jenkins,gitlab的git服務組成,還可以與sonarqube程式碼質量報告聚合工具一起使用。

gitlab安裝教程: https://www.jianshu.com/p/c98e71ee7958

sonarqube安裝教程: https://www.jianshu.com/p/9080642d4179

sonarqube使用教程: https://www.jianshu.com/p/f9d31148ce59

在生產環境中使用Docker建立Gerrit


version: '3'
services:
  gerrit:
    image: gerritcodereview/gerrit
    ports:
      - "29418:29418"
      - "8010:8080"
    depends_on:
      - ldap
    volumes:
      - /usr/local/docker/gerrit/etc:/var/gerrit/etc
      - /usr/local/docker/gerrit/git:/var/gerrit/git
      - /usr/local/docker/gerrit/db:/var/gerrit/db
      - /usr/local/docker/gerrit/index:/var/gerrit/index
      - /usr/local/docker/gerrit/cache:/var/gerrit/cache
    environment:
      - CANONICAL_WEB_URL=http://localhost
    #entrypoint: /entrypoint.sh init
  ldap:
    image: osixia/openldap
    ports:
      - "389:389"
      - "636:636"
    environment:
      - LDAP_ADMIN_PASSWORD=secret
    volumes:
      - /usr/local/docker/gerrit/ldap/var:/var/lib/ldap
      - /usr/local/docker/gerrit/ldap/etc:/etc/ldap/slapd.d
  ldap-admin:
    image: osixia/phpldapadmin
    ports:
      - "6443:443"
    environment:
      - PHPLDAPADMIN_LDAP_HOSTS=ldap


/usr/local/docker/gerrit/etc/gerrit.config 建立配置檔案


[gerrit]
  basePath = git
  canonicalWebUrl = http://localhost

[index]
  type = LUCENE

[auth]
  type = ldap
  gitBasicAuth = true

[ldap]
  server = ldap://ldap
  username=cn=admin,dc=example,dc=org
  accountBase = dc=example,dc=org
  accountPattern = (&(objectClass=person)(uid=${username}))
  accountFullName = displayName
  accountEmailAddress = mail

[sendemail]
  smtpServer = localhost

[sshd]
  listenAddress = *:29418

[httpd]
  listenUrl = http://*:8080/

[cache]
  directory = cache

[container]
  user = root

/usr/local/docker/gerrit/etc/secure.config 建立配置檔案

[ldap]
  password = secret

初始化環境

1.修改docker-compose.yml
把#entrypoint: /entrypoint.sh init註釋放開!

2.執行命令: docker-compose up gerrit

後臺啟動

1.把#entrypoint: /entrypoint.sh init註釋掉!

2.再輸入命令: docker-compose up -d

配置Gerrit的管理員賬號

  1. 訪問:https:ip:6443

2.登入
賬號:cn=admin,dc=example,dc=org
密碼:secret

3.建立gerrit賬號
1.點選Create a child entry

2.選擇賬號模板

3.填入賬號資訊
引數為:
Given Name: Gerrit
Last Name: Admin
Common Name: Gerrit Admin
User ID: gerritadmin
Email: gerritadmin@localdomain
Password: secret

4.提交到LDAP (commit the changes to LDAP)

登入 Gerrit

1.輸入地址
我這邊配置的地址是:http:ip:8010

2.登入

3.登入成功

到這了就成功了!