美文网首页
gitlab安装

gitlab安装

作者: Daisy小朋友 | 来源:发表于2019-11-07 17:34 被阅读0次

    系统:Centos7.6

    安装方式:omnibus安装包,社区版

    因为直接使用官网脚本安装特别慢,故使用清华开源镜像进行安装

    1 安装

    配置yum源

    vim /etc/yum.repos.d/gitlab-ce.repo
    [gitlab-ce]
    name=gitlab-ce
    baseurl=[http://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7](http://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7)
    Repo_gpgcheck=0
    Enabled=1
    Gpgkey=[https://packages.gitlab.com/gpg.key](https://packages.gitlab.com/gpg.key)
    

    更新缓存

    yum makecache 
    

    安装

    yum install -y gitlab-ce --nogpgcheck    #--nogpgcheck取消校验
    

    常用命令

    gitlab-ctl start    # 启动所有 gitlab 组件;
    
    gitlab-ctl stop        # 停止所有 gitlab 组件;
    
    gitlab-ctl restart        # 重启所有 gitlab 组件;
    
    gitlab-ctl status        # 查看服务状态;
    
    gitlab-ctl reconfigure        # 启动服务;
    
    vim /etc/gitlab/gitlab.rb        # 修改默认的配置文件;
    
    gitlab-rake gitlab:check SANITIZE=true --trace    # 检查gitlab;
    
    gitlab-ctl tail        # 查看日志;
    

    安装目录

    /etc/opt
    

    2 启动登录

    修改登录地址,可以修改url登陆地址

    vim /etc/gitlab/gitlab.rb  
    

    重新配置服务大概5min左右

    gitlab-ctl reconfigure  
    

    登录 输入你的url登陆即可
    http://192.168.1.206/
    登录默认用户名/密码: root/5iveL!fe

    安装参考: https://yq.aliyun.com/articles/74395

    3 gitlab组件以及相关配置

    gitlab组件
    图片.png
    • 首先访问nginx(接待人员)
    • 访问请求到redis种,执行redis中任务的是unicorn(3种)
    • unicorn(1 权限验证,比如说ldap 2通过web界面操作源码文件 3 unicorn向redis发布一个sidekiq的任务时,sidekiq主要任务是发送邮件)
    • gitlab-shell ,ssh协议处理请求
    • gitaly代理所有git相关操作

    安装配置文件:/etc/gitlab/gitlab.rb,以下均为这个配置文件的修改:

    修改默认仓库地址 git data
    默认仓库地址:/var/opt/gitlab/git-data/repositories
    430 # git_data_dirs({
    431 #   "default" => {
    432 #     "path" => "/mnt/nfs-01/git-data"
    433 #    }
    434 # })
    
    调整时区
    58 gitlab_rails['time_zone'] = 'Beijing'
    
    配置邮箱
    图片.png
    注意云主机的25端口是封闭的,可以使用465端口,将smtp_tls设置为true
    测试邮件是否配置成功:
    使用gitlab-rails console 进入控制台,
    查看目前的邮箱配置
    图片.png
    发送邮件测试格式:Notify.test_email('收件人邮箱', '邮件标题', '邮件正文').deliver_now
    图片.png
    邮箱配置能成功发送邮件后, 新建用户, 用户收到的邮箱打开gitlab服务器域名是 example.gitlab.com 需做修改
    更改邮件中提示的gitlab登陆地址文件:
    /gitlab/gitlab-rails/etc/gitlab.yml
    host: 192.168.4.24
    port: 80
    https: false
    

    收到的邮箱格式,通过此连接修改密码后可以使用用户名或者邮箱登录。


    图片.png
    配置生效命令:gitlab-ctl reconfigure
    防攻击配置
    图片.png

    默认开启,当由用户多次访问并超时时,会禁止访问,释放无效连接进程,节省资源

    4 gitlab小技巧

    merge request工作流使用

    1 不建议直接在主干开发
    2 创建功能分支,创建与功能相关的开发工作,好的提交策略:小步提交,原子功能提交,提交注释的规范
    3 完成功能开发之后,创建merge request到主干,将新功能合并到主干
    4 code review(CI,代码静态扫描结果,预发布结果是否正常)
    5 merge request达到标准到将代码合并到主干
    好处:
    1 代码交付时合并到主干之前保证代码质量,不会破坏对外发布的代码,保证产品一直时可对外发布的状态
    2 代码审核期间错误不会影响其它开发人员,每个开发人员只对自己的开发内容负责
    3 降低开发代码冲突所造成的问题,在合并之前就已经解决掉了
    4 对代码审查制度也是一种手段

    gitlab实景操作流程
    • 创建issue


      图片.png

      之后会在右上角看到你的issue和to do list


      图片.png
    • 根据发布的任务创建分支
    • 将分支拉去到本地并更新代码
    git clone url
    git pull  //更新最新创建的分支
    git checkout 1-add-a-new-file  //切换到任务分支上
    touch helloword.py  //创建任务
    git add helloword.py  //添加到缓冲区
    git commit -m addfile  //提交到本地仓库
    git push   //提交到远程分支
    现在在gitlab的web界面下就可以看到你提交的代码了
    
    图片.png
    • 创建create merge request,点击右上角create merge reques


      图片.png
      图片.png

      点击submit merge request


      图片.png
      点击merge
      图片.png
      查看项目主干已经有这个分支了
      图片.png

      查看issue已经关闭,to do list中两个任务已经完成(issue和merge)


      图片.png

    5 gitlab权限

    项目创建者默认是owner权限
    guest:可以创建任务,浏览项目。可以在web中查看
    report:可以拉去代码,被分配任务。可以将代码拉取到本地
    developer:不可以添加项目成员,不可以修改被保护分支。开发人员权限,不可以提交保护分支,推荐使用merge request
    master:不可以调整项目可以等级,不可以删除
    参考:

    https://docs.gitlab.com/ee/user/permissions.html

    相关文章

      网友评论

          本文标题:gitlab安装

          本文链接:https://www.haomeiwen.com/subject/hevvbctx.html