Gitlab安装配置
获取Gitlab
1. 准备工作
- 关闭防火墙或打开服务端口
# 关闭防火墙systemctl stop firewalld && systemctl disable firewalld# 开放ssh、http服务firewall-cmd --add-service=ssh --permanentfirewall-cmd --add-service=http --permanent# 重载防火墙规则firewall-cmd --reload
2. 添加gitlab源
由于gitlab官方源太慢,gitlab的rpm包又有700Mb,所以这里使用国内的清华源
cat > /etc/yum.repos.d/gitlab.repo <<EOF
[gitlab_gitlab-ce]
name=gitlab-ce
baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/
gpgcheck=0
enabled=1
EOF
然后yum makecache 生效源
3. 安装Gitlab
yum install -y gitlab-ce
配置Gitlab服务
1. 配置站点
Gitlab的默认配置文件是 /etc/gitlab/gitlab.rb
# 默认的站点Url配置项
external_url 'http://gitlab.example.com'
将其改为当前IP或是域名
使用域名的话,如果是本地的测试机器需要注意在hosts中绑定IP与域名
# 修改为当前主机IP
vim /etc/gitlab/gitlab.rb
external_url 'http://127.0.0.1'
2. 禁用创建组权限
GitLab默认所有的注册用户都可以创建组。但对于团队来说,通常只会给Leader相关权限。
虽然可以在用户管理界面取消权限,但毕竟不方便。我们可以通过配置GitLab默认禁用创建组权限。
vim /etc/gitlab/gitlab.rb
# 开启gitlab_rails['gitlab_default_can_create_group'] 选项,并将值设置为false
### GitLab user privileges
gitlab_rails['gitlab_default_can_create_group'] = false
#保存后,重新配置并启动GitLab
gitlab-ctl reconfigure
3. 启动测试
# 重新配置并启动
gitlab-ctl reconfigure
# 初次启动会比较慢,gitlab会检查更新以及加载各种服务
# 输出类似如下结果即表示成功
Running handlers complete
Chef Client finished, 432/613 resources updated in 03 minutes 43 seconds
gitlab Reconfigured!
4. 登入
初次登入会提示为用户设置密码
设置完密码后登录,默认账户是root,密码为刚才设置的密码
5. gitlab-ctl常用命令[附]
| 命令 | 说明 |
|---|---|
| check-config | 检查在gitlab中是否有任何配置。在指定版本中删除的rb |
| deploy-page | 安装部署页面 |
| diff-config | 将用户配置与包可用配置进行比较 |
| remove-accounts | 删除所有用户和组 |
| upgrade | 升级 |
| service-list | 查看所有服务 |
| once | 如果GitLab服务停止了就启动服务,如果已启动就不做任何操作 |
| restart | 重启GitLab服务 |
| start | 如果GitLab服务停止了就启动服务,如果已启动就重启服务 |
| stop | 停止GitLab服务 |
| status | 查看GitLab服务状态 |
| reconfigure | reconfigure重新配置GitLab并启动 |
邮件服务
1. 配置
邮件是Gitlab必须配置的服务,很多功能都依赖于它
邮件的配置文件也在 /etc/gitlab/gitlab.rb ,这里需要设置两个地方
vim /etc/gitlab/gitlab.rb
### Email Settings
gitlab_rails['gitlab_email_enabled'] = true #打开email服务
gitlab_rails['gitlab_email_from'] = '7*******8@qq.com' #系统邮件发件人
gitlab_rails['gitlab_email_display_name'] = 'Gitlab' #显示的发件人名称
### GitLab email server settings
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "7*******8@qq.com"
gitlab_rails['smtp_password'] = "QQ邮箱授权码"
gitlab_rails['smtp_domain'] = "qq.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
2. 测试邮件服务
# 进入inrush控制台
gitlab-rails console
# Notify.test_email('目标邮箱地址','邮件标题', '邮件正文').deliver_now
Notify.test_email('7*******9@qq.com','Gitlab', 'For GitLab').deliver_now
很快就能收到邮件,如果无法接收,将邮件标题设置为空再次测试
汉化
新版本的Gitlab已经集成了部分汉化,点击右上角头像进入User Settings==>Preferences==>Localization设置中文,设置完成后刷新网页即可生效
第一个Gitlab应用
创建群组
群组可以轻松的管理多人的权限,后续的应用都会创建在群组上
设置群组名称==>添加群组描述==>设置可见性级别, 如果这个组内项目是内部测试,设置为私有群组
允许创建项目,此项可以设置谁拥有添加项目的权限
Allowed to create subgroups,此项设置谁可以创建子组
创建用户
Account项是必填项,密码此时不能设置,重置密码的连接会发送到填写的电子邮箱,而且用户第一次登陆时会强制要求设置新密码
如果仅仅为了测试,在这里创建完用户管理员进入用户中心也可以创建一个临时密码,使用这个密码进行初次登录
创建应用
新建项目可以选择
创建空项目/根据模板创建/导入项目
项目URL在地址后可以选择创建到组或用户,选择创建到组
输入项目名称,选择可见级别即可创建
初始化应用
如果是第一次使用Git,需要进行Git全局设置
git config --global user.name "用户名"
git config --global user.email "邮件"
然后根据情况完成初始化
创建一个新仓库
git clone git@10.0.0.200:legend/test.git
cd test
touch README.md
git add README.md
git commit -m "add README"
git push -u origin master
推送现有文件夹
cd existing_folder
git init
git remote add origin git@10.0.0.200:legend/test.git
git add .
git commit -m "Initial commit"
git push -u origin master
推送现有的 Git 仓库
cd existing_repo
git remote rename origin old-origin
git remote add origin git@10.0.0.200:legend/test.git
git push -u origin --all
git push -u origin --tags

