git 真的是程式控管的好工具,市面上有很多git服務,如:Github、Bitbucket、SourceForge…等等,但有些限制,有的是提供五個私人倉,其它需要公開,如果需要增加私人倉庫時,就需要在付費。
如果是公司開發需要時,但又不想要將程式外流到外部主機上, GitLab 是一個好的選擇,以下就教如何快速使用 Docker 建立一個你的 GitLab。
官方文件
https://docs.gitlab.com/omnibus/docker/
主要提供三種方式進行安裝:
Installation
The GitLab Docker images can be run in multiple ways:
Using Docker Engine
Using Docker Compose
Using Docker swarm mode
這部份我使用的是第一種比較快,只需要一個指令即可完成。
環境配置
- CPU:雙核心
- 硬碟:20GB
- 記憶體:4GB
(此規格足夠500用戶使用)
安裝流程
一、設定環境變數:export GITLAB_HOME=/srv/gitlab
二、執行 docker run
指令--hostname gitlab.example.com
輪入你的gitlab網址--publish 2022:22
外部2022 port -> 22 port (之前使用 22:22 port,執行後會出現 Error starting userland proxy: listen tcp4 0.0.0.0:22: bind: address already in use.所以特別改了port號,若無可直接使用 22:22 port)--volume $GITLAB_HOME/config:/etc/gitlab:Z
(:Z
在 CentOS 環境有開啟 selinux 時,需要加入 Z ,提供 Docker 可以執行的權限)
[root@location ~]$ sudo docker run --detach \ --hostname gitlab.example.com \ --publish 443:443 --publish 80:80 --publish 2022:22 \ --name gitlab \ --restart always \ --volume $GITLAB_HOME/config:/etc/gitlab:Z \ --volume $GITLAB_HOME/logs:/var/log/gitlab:Z \ --volume $GITLAB_HOME/data:/var/opt/gitlab:Z \ gitlab/gitlab-ee:latest Unable to find image 'gitlab/gitlab-ee:latest' locally latest: Pulling from gitlab/gitlab-ee 5d3b2c2d21bb: Pull complete 3fc2062ea667: Pull complete 75adf526d75b: Pull complete 83e0be982cdd: Pull complete 928b97e64f8f: Pull complete 790ddba7900f: Pull complete 746f8c872525: Pull complete 7e5f3e7bdca6: Pull complete 46cb31d07320: Pull complete Digest: sha256:7e1323b3c4d67b36b96d65dbda5e675223f5f63f8c358a5c8c8be7218203af7f Status: Downloaded newer image for gitlab/gitlab-ee:latest 93e5127f083b745cea73c66b08a81b913f090f4a9393a57f180abb05becad9e5 [root@location ~]$ docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 93e5127f083b gitlab/gitlab-ee:latest "/assets/wrapper" 28 seconds ago Up 27 seconds (health: starting) 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp, 0.0.0.0:19073->22/tcp gitlab
三、執行 docker ps -a
確認服務是否啟動,也可以使用 docker logs gitlab
查看目前 gitlab 的 log。
第一次登入 gitlab
完成後開啟瀏覽器輸入你的設定網址 http://gitlab.example.com 會出現第一次登入,請設定你的密碼,如下圖 ( 預設管理員帳號為:root )
更新完密碼後,就可以使用 root / 新密碼 進行登入