本地gitlab搭建
首先准備好基礎環境(虛擬機搭建本地gitlab)
1.安裝輔助
yum install -y curl policycoreutils-pythonopenssh-server
systemctl enable sshd
systemctl start sshd #啟動
2.yum install postfix #安裝郵件
systemctl enable postfix
vim /etc/postfix/main.cf
inet_protocols = ipv4
inet_interfaces = all
systemctl start postfix
3.安裝新版穩定gitlab
提前下載上傳
[root@long ~]# ll
total 656132
-rw-------. 1 root root 1549 May 12 23:40 anaconda-ks.cfg
-rw-r--r--. 1 root root 671871527 Jul 31 2019 gitlab-ce-12.1.3-ce.0.el7.x86_64.rpm
[root@long ~]# rpm -ivh gitlab-ce-12.1.3-ce.0.el7.x86_64.rpm #安裝
4.修改gitlab配置文件指定服務器ip和自定義端口:vim /etc/gitlab/gitlab.rb
unicorn['port'] = 8083
external_url 'http://IP'
nginx['listen_port'] = 8086
5.重置gitlab
gitlab-ctl reconfigure
gitlab-ctl restart
6.配置郵件服務
external_url 'http://10.0.0.10'
unicorn['port'] = 8083
nginx['listen_port'] = 8086 #配置端口
gitlab_rails['gitlab_email_enabled'] = true
gitlab_rails['gitlab_email_from'] = 'long@****.com'
gitlab_rails['gitlab_email_display_name'] = 'long-Gitlab' #發件人名稱設置
gitlab_rails['manage_backup_path'] = true
gitlab_rails['backup_path'] = "/data/gitlab_backup" #備份存放目錄
gitlab_rails['backup_keep_time'] = 604800
gitlab_rails['backup_archive_permissions'] = 0644
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.exmail.qq.com"
gitlab_rails['smtp_port'] = 465 #郵件端口
gitlab_rails['smtp_user_name'] = "long@****.com"
gitlab_rails['smtp_password'] = "**********" #郵件客戶端授權碼
gitlab_rails['smtp_domain'] = "exmail.qq.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
最后過濾一下,檢查是否配置完成:grep -Ev "^$|#" /etc/gitlab/gitlab.rb
[root@long ~]# grep -Ev "^$|#" /etc/gitlab/gitlab.rb
external_url 'http://10.0.0.10'
unicorn['port'] = 8083
nginx['listen_port'] = 8086 #配置端口
gitlab_rails['gitlab_email_enabled'] = true
gitlab_rails['gitlab_email_from'] = 'long@****.com'
gitlab_rails['gitlab_email_display_name'] = 'long-Gitlab' #發件人名稱設置
gitlab_rails['manage_backup_path'] = true
gitlab_rails['backup_path'] = "/data/gitlab_backup" #備份存放目錄
gitlab_rails['backup_keep_time'] = 604800
gitlab_rails['backup_archive_permissions'] = 0644
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.exmail.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "long@****.com"
gitlab_rails['smtp_password'] = "*********"
gitlab_rails['smtp_domain'] = "exmail.qq.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
重置gitlab
gitlab-ctl reconfigure
gitlab-ctl restart
看到一串ok表示啟動成功
發送測試郵件測試:
gitlab-rails console
Notify.test_email('long@****.com', '郵件標題_test', '郵件正文_test').deliver_now
測試:
linux系統內測試:sudo rpm -qa | grep gitlab
這會顯示安裝的gitlab的版本
關閉防火牆或者是設置防火牆忽略訪問ip,輸入ip:端口號,就可以訪問gitlab密碼重置頁面了。
注意事項:卸載重裝的時候要把所有的卸載干凈:包括文件夾:/etc/sysctl.d/ 下所有關於gitlab的文件全部刪除。
此時訪問10.0.0.10失敗,需要做端口映射,映射到192.168.1.211:5000
訪問成功

此時出現一個問題,git上的克隆地址都是10.0.0.10這個虛擬機ip,創建開發賬號收到的郵件也是這個ip.
於是我解決這個問題:
[root@long config]# pwd
/opt/gitlab/embedded/service/gitlab-rails/config
[root@long config]# vim gitlab.yml
gitlab:
## Web server settings (note: host is the FQDN, do not include http://)
host: 192.168.1.211 #10.0.0.10
port: 5000 #80
https: false
gitlab-ctl restart
成功