文章出處

相關博文:

服務器版本 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

// 重新執行一開始的安裝命令

參考資料:


文章列表


不含病毒。www.avast.com
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()