美文网首页
gitlab系列详解

gitlab系列详解

作者: DdShare | 来源:发表于2018-09-13 11:19 被阅读10次

    [2018-09-13 09:32:49](javascript:;)

    虚拟机的安装
    1.安装virtualbox
    https://www.virtualbox.org/
    2.安装centos6.6
    3.配置网络
    右键-->网络-->网卡2-->host-only

    cd /etc/sysconfig/network-scripts/
    vi ifcfg-eth0
    将此处改为yes ONBOOT=yes
    此时可ping外网
    
    cp ifcfg-eth0 ifcfg-eth1
    加入以下内容
    DEVICE=eth1
    ONBOOT=yes
    BOOTPROTO=static
    IPADDR=192.168.56.101
    NETMASK=255.255.255.0
    

    4.使用工具连接centos
    https://winscp.net/eng/download.php
    https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html

    gitlab的简介
    1.gitlab是什么
    是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务。
    基础功能免费,高级功能收费
    2.为什么要使用gitlab
    1.基础功能开源,可自行搭建
    2.可以进行权限控制,使得代码对部分人可见
    3.gitlab使用方便,非常适合企业内部使用

    gitlab的安装

    1.linux必要配置
        在防火墙里开放http跟ssh端口
            yum install lokkit
            yum install curl openssh-server openssh-clients postfix cronie -y
            service postfix start
            chkconfig postfix on
            lokkit -s http -s ssh
        添加gitlab仓库,并安装
            curl -sS http://packages.gitlab.cc/install/gitlab-ce/script.rpm.sh | sudo bash
            sudo yum install gitlab-ce
        启动gitlab
            gitlab-ctl reconfigure
            vim /etc/gitlab/gitlab.rb 
            修改external_url为gitlab机子的ip+要使用的端口 如:http://192.168.56.101:8888
            修改nginx['listen_port'] = 8888
            重新配置gitlab并重启       
            gitlab-ctl reconfigure
            gitlab-ctl restart
        配置防火墙
            vim /etc/sysconfig/iptables
            -A INPUT -m state --state NEW -m tcp -p tcp --dport 8888 -j ACCEPT
            service iptables restart
    

    配置gitlab邮件服务
    配置邮箱服务的用途
    有合并请求时,邮件通知
    账号注册时,邮件验证
    修改密码时,通过邮件修改
    配置步骤:
    1.开启QQ邮箱的smtp服务(不建议使用163邮箱,发几次之后,就不能发送)
    设置--》账户--》smtp--》密保验证--》验证成功返回一串字符串,形状如(ausdixersybgcgid)
    保存返回的字符串
    2.修改gitlab配置

            vim /etc/gitlab/gitlab.rb
            按/后输入smtp_enable,找到下面这一串文本,进行修改
            gitlab_rails['smtp_enable'] = true
            gitlab_rails['smtp_address'] = "smtp.qq.com"
            gitlab_rails['smtp_port'] = 465
            gitlab_rails['smtp_user_name'] = "1403780990@qq.com"
            gitlab_rails['smtp_password'] = "开通smtp时返回的字符"
            gitlab_rails['smtp_domain'] = "qq.com"
            gitlab_rails['smtp_authentication'] = "login"
            gitlab_rails['smtp_enable_starttls_auto'] = true
            gitlab_rails['smtp_tls'] = true
    
            user['git_user_email'] = "1403780990@qq.com"
            gitlab_rails['gitlab_email_from'] = '1403780990@qq.com'
            按esc退出到命令行模式
            之后:wq 保存并退出
    
            gitlab-ctl reconfigure
        3.测试邮件服务是否正常
            gitlab-rails console
            Notify.test_email('接收方邮件地址','邮件标题','邮件内容').deliver_now
            按回车,测试发送。
    

    gitlab的账号注册及分组

    1.开启注册邮箱验证
    admin area --》setting--》Sign-up restrictions--》勾选Send confirmation email on sign-up
    2.当前用户
    root、123、wiggin
    3.创建组
    首页->create a group(http://192.168.56.101:8888/dashboard/groups)
    访问级别
    Private:只有组成员才能看到
    Internal:只要登录的用户就能看到
    Public:所有人都能看到

    Guest:可以创建issue、发表评论,不能读写版本库
    Reporter:可以克隆代码,不能提交
    Developer:可以克隆代码、开发、提交、push
    Master:可以创建项目、添加tag、保护分支、添加项目成员、编辑项目
    Owner:可以设置项目访问权限 - Visibility Level、删除项目、迁移项目、管理组成员

    1. 键入命令:ssh-keygen -t rsa
    2. 提醒你输入key的名称,输入如id_rsa
    3. 在C:\Users\用户.ssh下产生两个文件:id_rsa和id_rsa.pub
    4. 用记事本打开id_rsa.pub文件,复制内容,在gitlab.com的网站上到ssh密钥管理页面,添加新公钥,随便取个名字,内容粘贴刚才复制的内容。

    gitlab分支及标签的保护

    为什么要保护分支
    保护特定的分支不被随便合并,以免影响相应的分支
    进入项目--> repository-->branches-->project setting
    注意 能push 就能merge ,相应的权限把握好(master分支设置只能masters可以合并)

    更多学习资料可查看
    https://xdclass.net/html/sort.html

    如需针对此内容进行深入了解可查看
    Jenkins持续集成视频教程Git

    相关文章

      网友评论

          本文标题:gitlab系列详解

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