Centos7安装gitlab-ce

1、官方推荐方式安装

参考https://www.gitlab.com.cn/installation/#centos-7?version=ce

sudo yum install -y curl policycoreutils-python openssh-server openssh-clients
sudo systemctl enable sshd
sudo systemctl start sshd

这3行一般都是要执行的

防火墙不启用,那防火墙的命令就不用执行了

建议使用smtp来发邮件,这样就不用装postfix了
现在服务器一般都会禁用25端口,用postfix还要额外配置,所以尽量不要用

sudo EXTERNAL_URL="http://gitlab.example.com" yum install -y gitlab-ce

EXTERNAL_URL用来设置gitlab的访问域名,建议尽量用域名,ip地址有可能会换的

安装命令执行时间较长,大概有几分钟时间,而且期间屏幕有可能会没有任何变化,建议耐心等待

安装完成后,即可访问域名来使用gitlab,发送邮件配置后续再设置

2、指定安装版本

和官方推荐方式基本相同,事先下载安装包,下载地址可以到官网找,也可以去用国内的镜像地址

curl -sS http://packages.gitlab.com.cn/install/gitlab-ce/script.rpm.sh | sudo bash
sudo EXTERNAL_URL="http://gitlab.example.com" yum install -y gitlab-ce

官方的这2行不用执行,换成如下:

curl -LJO https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-11.1.4-ce.0.el7.x86_64.rpm
rpm -i gitlab-ce-11.1.4-ce.0.el7.x86_64.rpm

第一行下载安装包,第二行执行安装包

安装包安装很快,不用等待很长时间
安装后不能马上使用,必须执行配置和启动命令

gitlab-ctl reconfigure
gitlab-ctl restart

3、使用外部nginx

1) 修改配置文件 /etc/gitlab/gitlab.rb

#定义访问域名
external_url 'http://git.example.com'
#禁用内部 nginx
nginx['enable'] = false
#配置可以访问 gitlab 工作目录的用户,赋予 nginx 用户对该目录的读写权限
web_server['external_users'] = ['nginx','gitlab-www','git']

2) 复制内部nginx的配置文件到外部nginx

/var/opt/gitlab/nginx/conf/gitlab-http.conf 和 /var/opt/gitlab/nginx/conf/nginx-status.conf

gitlab-http.conf还需要做适当修改,主要是将原来内部nginx的nginx.conf里的几行配置复制进gitlab-http.conf

proxy_cache_path proxy_cache keys_zone=gitlab:10m max_size=1g levels=1:2;
proxy_cache gitlab;

map $http_upgrade $connection_upgrade {
  default upgrade;
  ''      close;
}

3) 执行 gitlab-ctl reconfigure 重新配置gitlab

4、配置smtp发送邮件

修改配置文件gitlab.rb

gitlab_rails['gitlab_email_enabled'] = true
gitlab_rails['gitlab_email_from'] = 'gitlab@example.com'
gitlab_rails['gitlab_email_display_name'] = 'GitLab'
gitlab_rails['gitlab_email_reply_to'] = 'noreply@example.com'

gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.mxhichina.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "gitlab@example.com"
gitlab_rails['smtp_password'] = "********"
gitlab_rails['smtp_domain'] = "example.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true

以上配置是阿里云企业邮箱的配置,注意smtp_port设置为465,则smtp_tls必须设为true

其他邮箱配置可参考网上

参考网址:

https://wsgzao.github.io/post/gitlab/
https://yq.aliyun.com/articles/208700
https://laravel-china.org/topics/2829/centos-7-install-gitlab-ce-community-edition-and-modify-the-default-nginx

原文地址:https://www.cnblogs.com/liuzhenwei/p/9482585.html