輕鬆搭建gitlab服務器

本文操做環境 Mac,使用 docker 安裝 gitlab-ce(社區版)html

1. 安裝 docker

下載 docker,地址:https://docs.docker.com/docker-for-mac/install/python

首先註冊 docker 帳號nginx

登錄後,便可下載 dockergit

建議使用迅雷等工具下載,地址:https://download.docker.com/mac/stable/Docker.dmgdocker

下載安裝完畢,登陸帳號shell

2. 下載鏡像

使用命令行,拉取鏡像瀏覽器

docker pull gitlab/gitlab-ce
複製代碼

會由於超時而報錯bash

Using default tag: latest
Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: TLS handshake timeout
複製代碼

使用國內鏡像服務器

Docker->Preferences->Daemon,添加地址, Apply & Restartmarkdown

等待片刻,docker 從新 running 的時候

再次執行命令

docker pull gitlab/gitlab-ce
複製代碼

過程:

Using default tag: latest
latest: Pulling from gitlab/gitlab-ce
e80174c8b43b: Pull complete
d1072db285cc: Pull complete
858453671e67: Pull complete
3d07b1124f98: Pull complete
1abbbf4783f5: Pull complete
38a43d00563b: Pull complete
8bbea5a60f40: Pull complete
176bd574f7c7: Pull complete
a8646c9c80ee: Pull complete
089fe821c806: Pull complete
Digest: sha256:88f1bcc39aa9917ac4b19022af441b64265d50e1f0c0fa2616d29a2cb82fb41a
Status: Downloaded newer image for gitlab/gitlab-ce:latest
docker.io/gitlab/gitlab-ce:latest
複製代碼

僅僅使用了 7 分鐘,就拉取完畢了

3. 運行 gitlab 實例

sudo docker run -d \
    --hostname xxxx.xxxx.xx \
    --name gitlab \
    --restart always \
    --publish 30001:22 --publish 30000:80 --publish 30002:443 \
    --volume $HOME/gitlab/data:/var/opt/gitlab \
    --volume $HOME/gitlab/logs:/var/log/gitlab \
    --volume $HOME/gitlab/config:/etc/gitlab \
    gitlab/gitlab-ce
複製代碼

其中 volume 選項將 gitlab 的目錄掛載爲用戶當地目錄,以避免容器在中止或被刪除的時候丟失數據。publish 選項將宿主機器的 30000、30001 和 30002 映射爲容器的 80(http)、22(ssh)和 443(https)端口。

執行完後,輸入用戶密碼,在 home 目錄會建立 gitlab 目錄

能夠下載一個 docker 的可視化工具 Kiteatic,以下圖:

Kiteatic 下載地址[1]

4. 配置 gitlab 實例

  • 配置訪問地址
# 將external_url修改成GitLab服務器的訪問地址:
external_url 'http://localhost:30000'
複製代碼

因爲定義的 url 中有端口號,須要將 nginx 監聽的端口號改回 80,不然 nginx 將監聽容器的 30000 端口,形成 GitLab 沒法使用:

nginx['listen_port'] = 80
複製代碼
  • 配置 ssh 協議所使用的訪問地址和端口
gitlab_rails['gitlab_ssh_host'] = "localhost"
gitlab_rails['gitlab_shell_ssh_port'] =30001
複製代碼
  • 配置郵箱
gitlab_rails['gitlab_email_from'] = "xxxx@163.com」 gitlab_rails['gitlab_email_reply_to'] = ‘xxxx@163.com' gitlab_rails['smtp_enable'] = true gitlab_rails['smtp_address'] = "smtp.163.com" gitlab_rails['smtp_port'] = 465 gitlab_rails['smtp_user_name'] = "xxxx@163.com" # 此處密碼應該爲客戶端受權碼,而不是登陸密碼 gitlab_rails['smtp_password'] = "xxxxpassword" gitlab_rails['smtp_domain'] = "163.com" gitlab_rails['smtp_authentication'] = "login" gitlab_rails['smtp_enable_starttls_auto'] = true gitlab_rails['smtp_tls'] =true gitlab_rails['smtp_openssl_verify_mode'] = "peer" 複製代碼

注意:

  1. 以上設置的端口號 465 是 SSL 協議端口號,非 SSL 協議端口號是 25
  2. 此處填寫的密碼應該是客戶端受權碼,而不是郵箱的登陸密碼,若是設置錯誤,會致使發送郵件失敗

用命令 docker restart gitlab 重啓 GitLab,或者在容器中執行命令 gitlab-ctl reconfigure 從新配置 gitlab。

查看日誌

# 實時查看docker容器日誌
$ sudo docker logs -f -t --tail 行數 容器名
複製代碼

5. 測試

因爲以前已經配置了端口映射

打開瀏覽器輸入http://localhost:30000/,就能夠看到登陸界面

密碼至少要 8 位

設置完密碼後,進入界面是這樣的

至此,安裝搭建 git 服務器基本完成。

更多相關文檔,請查看https://docs.gitlab.com/omnibus/README.html

剩餘的操做部分,相信你能夠完成的

或者,下次再接着說


參考資料

[1]

Kiteatic下載地址:

https://download.docker.com/kitematic/Kitematic-Mac.zip


本文始發於公衆號:wanpython

地址:mp.weixin.qq.com/s/0Vrvct6m0…

若是以爲還不錯,請關注我

相關文章
相關標籤/搜索