Linux搭建gitlab

由于上一篇搭建的git服务器,进行权限控制时很不方便,决定重新搭建gitlab作为管理项目工具,有web页面操作起来也很方便。本文只记录安装过程以备后用。

一、服务端

  1. 配置服务yum源
vim /etc/yum.repos.d/gitlab-ce.repo
//添加以下内容到文末
[gitlab-ce]
name=Gitlab CE Repository
baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el$releasever/
gpgcheck=0
enabled=1
  1. 更新yum缓存
yum makecache
  1. 安装gitlab
yum install gitlab-ce -y
  1. 修改gitlab相关配置
vim  /etc/gitlab/gitlab.rb
//修改gitlab 默认URL
external_url 'http://serverIp:port' //根据自己的服务器填写ip和port
//修改gitlab默认仓库地址
git_data_dirs({
   "default" => {
     "path" => "/app/data/git-data"
    }
 })
//修改gitlab注册邮件发送
user['git_user_email']="你的邮箱@163.com"
gitlab_rails['smtp_enable']=true
gitlab_rails['smtp_address']="smtp.163.com"
gitlab_rails['smtp_port']=465
gitlab_rails['smtp_user_name']="你的邮箱@163.com"
gitlab_rails['smtp_password']="你的邮箱授权码!!不是登录密码 是授权码"
gitlab_rails['smtp_domain']="163.com"
gitlab_rails['smtp_authentication']="login"
gitlab_rails['smtp_enable_starttls_auto']=true
gitlab_rails['smtp_tls']=true
gitlab_rails['gitlab_email_from']="你的邮箱@163.com"

上面提及的邮箱授权码获取步骤:

image.png

image.png

若第一次设置,勾选POP3/SMTP服务后会提示设置授权码
然后验证邮箱获取授权吗即可


gitlab_url.png

git_data_dirs.png

git_email.png
  1. 启动gitlab服务
gitlab-ctl start #启动所有 gitlab 组件;
gitlab-ctl stop # 停止所有 gitlab 组件;
gitlab-ctl restart # 重启所有 gitlab 组件;
gitlab-ctl status # 查看服务状态;
gitlab-ctl reconfigure # 启动服务;(重新加载配置文件,在GitLab初次安装后可以使用,但是在业务环境中不可随意使用,reconfigure会把一些过去的config还原,导致修改的端口以及域名等都没有了。)
vim /etc/gitlab/gitlab.rb # 修改默认的配置文件;
gitlab-rake gitlab:check SANITIZE=true --trace # 检查gitlab;
sudo gitlab-ctl tail # 查看日志;

执行启动命令后,至此,服务端gitlab已经配置好

二、web端

  1. 登录gitlab
    浏览器访问,服务端配置的url:http://你的服务器ip:端口
    首次登录会强制用户修改密码。密码修改成功后,输入用户名root和密码进行登录。
    注:若无法访问,则可以使用ps -ef命令查看服务是否正常启动,若未启动, 则重新开启,若仍然启动不了,则可使用gitlab-ctl reconfigure(仅限初始环境下使用)命令启动服务, 然后再访问GitLab。
  2. 取消gitlba注册用户
    由于目前是开放注册,任何人都可以注册使用,显然不是我们想要的,服务端我们配置了邮箱,用于管理员邀请用户发送邮件。
    image.png
  3. 管理员添加用户
    image.png

    输入用户的姓名邮箱后,邮箱会有一个注册邀请,注册即可。
  4. 创建项目并添加开发人员
    image.png

    创建完成后,点击项目跳到项目管理页面,找到setting->members,进行添加开发人员。默认master是受保护项目,可以添加developer作为其他分支的开发。也可以自己设置用户组,都一样
    image.png
  5. 注册的用户,添加自己的ssh-key
    注册的用户登录后,将自己本机的公钥id_rsa.pub复制添加至如图页面中。(如何生成公钥参见://www.greatytc.com/p/d2d542143be5
    image.png

关于用户权限分类:
Guest(访客) – 阅览项目、写留言薄;
Reporter(报告人)- 阅览项目、写留言薄、拉项目、下载项目、创建代码片 段;
Developer(开发者)- 阅览项目、写留言薄、拉项目、下载项目、创建代码 片段、创建合并请求、创建新分支、推送不受保护的分支、移除不受保护的分支 、创建标签、编写 wiki;
Master(管理者)- 创建项目、写留言薄、拉项目、下载项目、创建代码片 段、创建合并请求、创建新分支、推送不受保护的分支、移除不受保护的分支 、创建标签、编写 wiki、增加团队成员、推送受保护的分支、移除受保护 的分支、编辑项目、添加部署密钥、配置项目钩子;
Owner(所有者)- 创建项目、写留言薄、拉项目、下载项目、创建代码片段、创建合并请求、创建新分支、推送不受保护的分支、移除不受保护的分支 、创建标签、编写 wiki、增加团队成员、推送受保护的分支、移除受保护 的分支、编辑项目、添加部署密钥、配置项目钩子、开关公有模式、将项目转 移到另一个名称空间、删除项目;


至此gitlab搭建已经完成


©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容