Gitlab 11.9.1 安装教程
一、CentOS设置
1. 更换阿里源
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum makecache
2. 安装网络工具
yum install net-tools -y
3. 使用阿里NTP服务
yum install chrony -y
sed -i "/server/d" /etc/chrony.conf
vi /etc/chrony.conf # 增加 server ntp.aliyun.com iburst
systemctl restart chronyd
chronyc tracking
二、 安装Gitlab
1. 安装依赖组件
sudo yum install -y policycoreutils-python
2. 开放防火墙
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo systemctl reload firewalld
3. 安装Email软件
sudo yum install postfix -y
sudo systemctl enable postfix
sudo systemctl start postfix
4. 添加Gitlab仓库
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
5. 安装Gitlab软件
sudo EXTERNAL_URL="https://gitlab.vip56.cn" yum install -y gitlab-ce
提醒这里无法使用阿里源,所以建议使用yum的代理加速下载,具体修改方法如下:
vi /etc/yum.conf 添加 proxy = http://192.168.1.139:1080
三、 配置SSL证书
1. 创建对应文件夹并设置权限
sudo mkdir -p /etc/gitlab/ssl
sudo chmod 700 /etc/gitlab/ssl
2. 上传证书文件(这里采用psftp远程上传)
sudo cp gitlab.example.com.key gitlab.example.com.crt /etc/gitlab/ssl/
sudo gitlab-ctl reconfigure
注意gitlab采用Nginx做为服务网关,所以对应文件请采用nginx对应生成的文件。同时记得需要把中间证书和根证书追加,并且不能有任何换行和空格。
如果后期更新证书还需要重启gitlab的nginx:
gitlab-ctl restart nginx
四、 使用SSH连接git
1. 创建公私钥(打开git bash)
ssh-keygen -o -t rsa -b 4096 -C email@example.com
注意 一路默认即可,默认文件生成到控制台当前所在文件夹。
2. 设置公钥
将生成的 *.pub 复制到gitlab对应的SSH KEYS中
3. 设置私钥
将另一个文件更名为 id_rsa 复制到 C:Users[当前用户名].ssh 下,剩下的直接clone项目并提交即可,为了能够
其他服务访问还需要开启外发请求选项。
五、 启用邮箱功能
vi /etc/gitlab/gitlab.vb # 修改如下配置
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.exmail.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "service@vip.cn"
gitlab_rails['smtp_password'] = "xxxx"
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_rails['gitlab_email_from'] = service@vip.cn
修改完成配置后执行如下命令重启:
gitlab-ctl reconfigure
如果需要测试发送使用如下命令:
gitlab-rails console
Notify.test_email('destination_email@address.com', 'Message Subject', 'Message Body').deliver_now