GitLab
通用
配置
进入配置文件
vim /etc/gitlab/gitlab.rb
重载配置
gitlab-ctl reconfigure
域名或ip地址修改
// gitlab 的域名
external_url 'http://gitlab.rokevin.cn'
// gitlab 的ip端口号配置
external_url 'http://xxx.xxx.xxx.xxx:port'
配置邮箱 阿里云邮箱查看配置地址
gitlab_rails['gitlab_email_enabled'] = true
gitlab_rails['gitlab_email_from'] = 'gitlab@rokevin.cn'
gitlab_rails['gitlab_email_display_name'] = 'GitLab'
gitlab_rails['gitlab_email_reply_to'] = 'gitlab@rokevin.cn'
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.mxhichina.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "gitlab@rokevin.cn"
gitlab_rails['smtp_password'] = "RokevinGitLab123"
gitlab_rails['smtp_domain'] = "rokevin.cn"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
配置nginx监听端口
nginx['listen_port'] = 7172
nginx添加配置
vim /etc/nginx/conf.d/gitlab.conf
gitlab.conf配置详情:
upstream git{
# 域名对应 gitlab配置中的 external_url
# 端口对应 gitlab 配置中的 nginx['listen_port']
server gitlab.rokevin.cn:7172;
}
server{
listen 80;
# 此域名是提供给最终用户的访问地址
server_name gitlab.rokevin.cn;
location / {
# 这个大小的设置非常重要,如果 git 版本库里面有大文件,设置的太小,文件push 会失败,根据情况调整
client_max_body_size 50m;
proxy_redirect off;
#以下确保 gitlab中项目的 url 是域名而不是 http://git,不可缺�~Q
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# 反向代理到 gitlab 内置的 nginx
proxy_pass http://git;
index index.html index.htm;
}
}
设置备份路径
GitLab常用命令:
// 启动
sudo gitlab-ctl start
// 重启
sudo gitlab-ctl restart
// 查看运行状态
sudo gitlab-ctl status
// 停止
sudo gitlab-ctl stop
// 查看错误信息
sudo gitlab-ctl tail
// 保存配置
sudo gitlab-ctl reconfigure
// 备份命令
gitlab-rake gitlab:backup:create
进入gitlab终端
gitlab-rails console
在终端中测试邮件是否可用
Notify.test_email('luokaiwen@idouxiao.com','test','邮件正文').deliver_now
gitlab关闭注册功能
第一步、以管理员身份登录进GitLab平台
第二步、点击【Admin Area】
第三步、点击【Settings】
第四步、在【Settings】页面控制【Sign-up Restrictions】
然后滚动鼠标,找到【Sign-up Restrictions】
可以看到现在是可以进行【Sign-up】功能的。默认的GitLab登录界面是有注册功能的
现在我们将【Sign-up enabled】的勾选框去掉,即取消掉注册功能
第五步、退出登录,查看效果
批量插入用户
创建一个gitlab.sh的shell脚本
#!/bin/bash
# gitlab批量插入用户
cat user.txt | while read line
do
echo $line
name=`echo $line | awk '{print $1}'`
username=`echo $line | awk '{print $2}'`
email=`echo $line | awk '{print $3}'`
password=`echo $line | awk '{print $4}'`
# skip_confirmation=true 表示不需要邮箱确认
curl -d "skip_confirmation=true&password=$password&email=$email&username=$username&name=$name&private_token=xxxx" "http://47.95.212.43:20010/api/v4/users"
done
在脚本当前目录创建user.txt文件夹,内容如下
张三 13681191111 13681191111@qq.com 12345678
注意,文本最后一行需要换行
受保护的分支处理
项目->设置->repository->protected branches
https://blog.csdn.net/yeshennet/article/details/77177522