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:\Users\Administrator\.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可以合并)

gitlab相关的更多相关文章

  1. Git版本控制 Git、github,gitlab相关操作

    目录 关于版本控制 版本管理工具 集中式管理 分布式管理 git版本管理 git介绍 软件安装 Git工作状态 原理流程步骤 git基本操作 对文件进行修改 分支 共享仓库 创建共享仓库: 共享仓库上 ...

  2. gitlab相关命令操作

    [root@xuegod63 ~]# git config --global user.name "zsl3"[root@xuegod63 ~]# git config --glo ...

  3. centos6搭建gitlab

    前言 原来的项目放在公网的gitlab上,处于安全考虑,在内网搭建一套,有图形界面,可以直接从外网git导入进来,使用了一下觉得挺方便,把安装流程记录下来,参考官网:https://gitlab.co ...

  4. gitlab服务器搭建教程

    gitlab服务器搭建教程 ----2016年终总结 三 参考https://bbs.gitlab.cc/topic/35/gitlab-ce-8-7-%E6%BA%90%E7%A0%81%E5%AE ...

  5. Git版本控制:Gitlab及Coding.net的使用

    http://blog.csdn.net/pipisorry/article/details/50709014 Gitlab介绍 GitLab是利用 Ruby on Rails 一个开源的版本管理系统 ...

  6. jenkins定位GitLab推送的最新Webhook中push event来自哪一个分支

    转载请标明出处:http://www.cnblogs.com/zblade/ 一.调研目的 jenkins可以和GitLab搭档,每当GitLab上有commit的时候,都可以触发jenkins执行相 ...

  7. Jenkins + Ansible + Gitlab之gitlab篇

    前言 持续交付 版本控制器:Gitlab.GitHub 持续集成工具:jenkins 部署工具:ansible  课程安排 Gitlab搭建与流程使用 Ansible环境配置与Playbook编写规范 ...

  8. jenkins+Gitlab+maven+tomcat实现自动集成、打包、部署

    一.前言 首先出于提高自己技术水平和琢磨能做点什么能提高工作效率,上线工作实在无聊.重复(手动编译.打包,传包,重启),于是就想到了jenkins,jenkins持续集成已经不是什么新鲜的话题,网上文 ...

  9. Git秘钥生成以及Gitlab配置

    安装Git:详见http://www.cnblogs.com/xiuxingzhe/p/9300905.html 开通gitlab(开通需要咨询所在公司的gitlab管理员)账号后,本地Git仓库和g ...

随机推荐

  1. HTML文件转Word文件格式

    这是我需要转换的HTML文件 第一步~ 使用我们的福昕阅读器将我们.html文件打开,如下图 第二步: 点击“文件”——“另存为”——选择一个你自己喜欢的位置存放文件,此时的文件已经被转换成了.pdf ...

  2. 记录一个IIS的服务器错误问题的解决方案

    部署一个mvc项目到iis的时候提示有下面这样的错误, 看提示是Microsoft.CodeDom.Providers.DotNetCompilerPlatform,权限问题. 我是第一次遇到,所以只 ...

  3. ats Linux Bridge内联

    Linux可以配置为在桥接模式下运行. 为网桥分配了两个或更多物理接口. 在接口之间共享单个IP地址. 默认情况下,任何到达一个接口的数据包都会立即路由到另一个网桥接口. 需要的Linux包: bri ...

  4. 04-matplotlib-柱形图

    import numpy as np import matplotlib.pyplot as plt # 柱形图 # 例一 N =5 y = [15,28,10,30,25] index = np.a ...

  5. 分布式日志收集收集系统:Flume(转)

    Flume是一个分布式.可靠.和高可用的海量日志采集.聚合和传输的系统.支持在系统中定制各类数据发送方,用于收集数据:同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力.Fl ...

  6. Ubuntu 1804 本地显示远程服务器文件

    本地是 Ubuntu 1804 最近想查看服务器上的图片,之前都是scp到本地,感觉太麻烦,于是查到有一种方法,ssh图形界面那种: 1.在File 界面下,左侧文件栏的最后一列有 “+ Other ...

  7. Oracle purge 用法介绍

    http://blog.csdn.net/indexman/article/details/27379597

  8. Redux和React-Redux的实现(三):中间件的原理和applyMiddleware、Thunk的实现

    现在我们的Redux和React-Redux已经基本实现了,在Redux中,触发一个action,reducer立即就能算出相应的state,如果我要过一会才让reducer计算state呢怎么办?也 ...

  9. 《Spring1之第六次站立会议》

    <第六次站立会议> 昨天:向小伙伴们请教了我代码的错误的解决方法以及对TCP/IP协议进行了相关的了解. 今天:我把自己项目工程里的服务器端界面进行了优化和完善. 遇到的问题:觉得做的界面 ...

  10. Beta Scrum Day 3 — 听说

    听说