zoukankan      html  css  js  c++  java
  • gitlab相关

    1.gitlab的概述

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

    2.gitlab的安装

    1. 在防火墙里开放http跟ssh端口
    	yum install lokkit
    	yum install curl openssh-server openssh-clients postfix cronie -y (如果报ibmysqlclient.so.18,可以使用	wget http://www.percona.com/redir/downloads/Percona-XtraDB-Cluster/5.5.37-25.10/RPM/rhel6/x86_64/Percona-XtraDB-Cluster-shared-55-5.5.37-25.10.756.el6.x86_64.rpm和rpm -ivh Percona-XtraDB-Cluster-shared-55-5.5.37-25.10.756.el6.x86_64.rpm 来解决) 
    	service postfix start
    	chkconfig postfix on
    	lokkit -s http -s ssh(如果出现防火墙问题.可以尝试将防火墙关闭试试).
    2. 添加gitlab仓库,并安装
    	curl -sS http://packages.gitlab.cc/install/gitlab-ce/script.rpm.sh | sudo bash(如果报错,不需要管,下一步就好)
    	sudo yum install gitlab-ce
    3. 启动gitlab
    	gitlab-ctl reconfigure
    	vim /etc/gitlab/gitlab.rb 
    	修改external_url为gitlab机子的ip+要使用的端口 如:http://192.168.56.101:8888
    	修改nginx['listen_port'] = 8888 (使用/listen_port来寻找该配置)
    	重新配置gitlab并重启		
    	gitlab-ctl reconfigure
    	gitlab-ctl restart
    4. 配置防火墙
        第一种配置方式:
    	    vim /etc/sysconfig/iptables
    	    -A INPUT -m state --tate NEW -m tcp -p tcp --dport 8888 -j ACCEPT
    	    service iptables restart
        第二种配置方式(防火墙打开):
            firewall-cmd --zone=public --add-port=8888/tcp --permanent
            firewall-cmd --reload
    5. 推送项目(gitlab上创建的项目会有提示)
    6. 登录的时候注意默认的账户是root
    

    3.gitlab配置邮箱服务

    1. 配置邮箱服务的用途
        * 有合并请求时,邮件通知
        * 账号注册时,邮件验证
        * 修改密码时,通过邮件修改
    2. 配置步骤
        1. 开启邮箱的smtp服务(推荐qq邮箱)(id为 anoxkzozvvcsdjfa)
        2. 修改gitlab配置(看下面的3和4)
        3. 测试邮件服务是否正常(看下面的5)
    3. gitlab配置存在的位置: /etc/gitlab/gitlab.rb
        1. 修改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'] = "2585700076@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
    
        2. 修改user['git_user_email'] = "2585700076@qq.com"
        3. 修改gitlab_rails['gitlab_email_from'] = '2585700076@qq.com'
    4. 修改完成之后:gitlab-ctl reconfigure 重启一下
    5. 测试邮件服务是否正常:
        1. gitlab-rails console 进入控制台
        2. Notify.test_email('收件者邮箱','标题','正文').deliver_now 回车就可以发送了.
    

    4.gitlab的账号注册及分组

    1. 账号注册邮箱验证功能(admin area --》setting--》Sign-up restrictions--》勾选Send confirmation email on sign-up):
        在gitlab界面中的setting中将Sign-up restrictions改为collapse,将Send confirmation email on sign-up选中就可以进行账号注册邮箱验证了,前提是邮箱服务必须打开。
    2. 创建组
        在Groups选项中,选择创建组(http://192.168.29.24:8888/groups/new)。
        访问级别:
        	Private:只有组成员才能看到
        	Internal:只要登录的用户就能看到
        	Public:所有人都能看到
    3. 邀请组员:
        在创建好的分组上面点击Members,然后就可以邀请组员了。
        组员的权限:
            Guest:可以创建issue、发表评论,不能读写版本库
            Reporter:可以克隆代码,不能提交
            Developer:可以克隆代码、开发、提交、push
            Master:可以创建项目、添加tag、保护分支、添加项目成员、编辑项目
            Owner:可以设置项目访问权限 - Visibility Level、删除项目、迁移项目、管理组成员
    4. 组员邀请成功之后,就可以创建项目了,在overriew中选择details,创建项目
    5. 使用ssh进行管理(使用管理员身份打开git bash):
        1. 键入命令:ssh-keygen -t rsa
        2. 提醒你输入key的名称,输入如id_rsa 
        3. 在C:UsersAdministrator.ssh下产生两个文件:id_rsa(私钥)和id_rsa.pub(公钥) 
        4. 用记事本打开id_rsa.pub文件,复制内容,在gitlab.com的网站上到ssh密钥管理页面,添加新公钥,随便取个名字,内容粘贴刚才复制的内容。 
    6. 创建文件夹进行测试
        1. 在文件夹下面右键,点击git bash
        2. 使用git init初始化仓库
        3. 使用git fetch 项目的ssh路径
        4. 创建文件echo "111" > file1
        5. git add *
        6. git commit -m "add file1"
        7. git remote add origin git@192.168.71.128:test1/group-test.git (这个东西是在创建的项目中的Existing folder)
        8. git push -u origin master
    

    5. gitlab分支及标签保护

    1. 为什么要保护分支
        保护特定的分支不被随便合并,以免影响相应的分支
    2. 进入项目--> repository-->branches-->project setting
    3. 注意 能push 就能merge ,相应的权限把握好(master分支设置只能masters可以合并)
  • 相关阅读:
    python—内置函数-filter,map,reduce
    python—模块-练习
    python—模块-re正则表达式
    python—模块-logging
    python—模块-subprocess
    python—模块-hashlib加密
    python—模块-configparser
    SpringBoot结合设计模式(观察者模式、策略模式)- 个人记录
    Spring事务-随笔
    Servlet、Tomcat、SpringMVC-整理-随笔
  • 原文地址:https://www.cnblogs.com/wadmwz/p/9757261.html
Copyright © 2011-2022 走看看