本地gitlab搭建

本地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


成功
原文地址:https://www.cnblogs.com/longren/p/12932142.html