文章出處
文章列表
相關博文:
服務器版本 Ubuntu 16.04 LTS。
1. 安裝和配置
安裝命令:
sudo docker run --detach \
--hostname 40.125.206.47 \
--publish 443:443 --publish 80:80 --publish 8888:22 \
--name gitlab \
--restart always \
--volume /srv/gitlab/config:/etc/gitlab \
--volume /srv/gitlab/logs:/var/log/gitlab \
--volume /srv/gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ce:latest
參數說明:
--detach
: 設置容器后臺運行--hostname
: 設置容器的 hostname--publish
: 端口轉發規則(80
:Http 訪問端口,443
:Https 訪問端口,8888
:主機的 ssh 訪問端口,22
:Docker 容器中 ssh 訪問端口)--name
:容器名稱--restart always
:每次啟動容器就重啟GitLab--volume
: 共享目錄掛載,即 docker 容器內外數據共享(/srv/gitlab/data
: 應用程序數據,/srv/gitlab/logs
:GitLab 的 log,/srv/gitlab/config
:GitLab 的配置文件)--e
:配置 Gitlab 運行的環境變量
安裝成功之后,編輯vim /srv/gitlab/config/gitlab.rb
,修改(默認22
修改為8888
):
gitlab_rails['gitlab_shell_ssh_port'] = 8888
配置修改后,就可以重啟 Gitlab 容器了:docker restart gitlab
,容器重啟 Gitlab 也會進行重啟。
瀏覽器打開:http://40.125.206.47,完成 Gitlab 初始密碼操作。
然后就可以克隆和修改項目了(team
為 Group 名稱):
git clone ssh://git@40.125.206.47:8888/team/hwapp.git
2. 郵箱配置
接著進行 Gitlab 的郵箱配置,需要配置 SMTP,官方配置示例:SMTP settings
我使用的是 QQ 企業郵箱,配置示例:
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.exmail.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "xxx@xxx.com"
gitlab_rails['smtp_password'] = "xxxx"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
# gitlab_email_from 為郵件發送賬號,gitlab_email_display_name 為郵件發送人名稱
gitlab_rails['gitlab_email_enabled'] = true
gitlab_rails['gitlab_email_from'] = 'xishuai@aiqinhaigou.com'
gitlab_rails['gitlab_email_display_name'] = 'gitlab-notify'
# gitlab_rails['gitlab_email_reply_to'] = 'noreply@example.com'
# gitlab_rails['gitlab_email_subject_suffix'] = ''
3. 更新版本
郵箱配置好之后,重啟 Gitlab 容器,我們可以進入 Gitlab 容器,進行郵件發送測試(發送標題和正文不能包含中文):
// 進入容器
$ docker exec -it gitlab bash
// 進入控制臺
$ gitlab-rails console
// 發送測試郵件
$ Notify.test_email('收件人郵箱', '郵件標題', '郵件正文').deliver_now
發送成功結果:
最后,更新 Gitlab 到最新版本命令(數據和配置不會發生變化):
// 停止 gitlab 容器
$ sudo docker stop gitlab
// 刪除 gitlab 容器
$ sudo docker rm gitlab
// 拉取最新的 gitlab 鏡像
$ sudo docker pull gitlab/gitlab-ce:latest
// 重新執行一開始的安裝命令
參考資料:
文章列表
全站熱搜