本文操做環境 Mac,使用 docker 安裝 gitlab-ce(社區版)html
下載 docker,地址:https://docs.docker.com/docker-for-mac/install/python
首先註冊 docker 帳號nginx
登錄後,便可下載 dockergit
建議使用迅雷等工具下載,地址:https://download.docker.com/mac/stable/Docker.dmgdocker
下載安裝完畢,登陸帳號shell
使用命令行,拉取鏡像瀏覽器
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 分鐘,就拉取完畢了
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]
# 將external_url修改成GitLab服務器的訪問地址: external_url 'http://localhost:30000' 複製代碼
因爲定義的 url 中有端口號,須要將 nginx 監聽的端口號改回 80,不然 nginx 將監聽容器的 30000 端口,形成 GitLab 沒法使用:
nginx['listen_port'] = 80 複製代碼
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" 複製代碼
注意:
以上設置的端口號 465 是 SSL 協議端口號,非 SSL 協議端口號是 25 此處填寫的密碼應該是客戶端受權碼,而不是郵箱的登陸密碼,若是設置錯誤,會致使發送郵件失敗
用命令 docker restart gitlab 重啓 GitLab,或者在容器中執行命令 gitlab-ctl reconfigure 從新配置 gitlab。
查看日誌
# 實時查看docker容器日誌 $ sudo docker logs -f -t --tail 行數 容器名 複製代碼
因爲以前已經配置了端口映射
打開瀏覽器輸入http://localhost:30000/,就能夠看到登陸界面
密碼至少要 8 位
設置完密碼後,進入界面是這樣的
至此,安裝搭建 git 服務器基本完成。
更多相關文檔,請查看https://docs.gitlab.com/omnibus/README.html
剩餘的操做部分,相信你能夠完成的
或者,下次再接着說
Kiteatic下載地址:
本文始發於公衆號:wanpython
地址:mp.weixin.qq.com/s/0Vrvct6m0…
若是以爲還不錯,請關注我