Gitlab(1)- 简单介绍
什么是 Gitlab
- 一个开源分布式版本控制系统
- 开发语言:Ruby
- 功能:管理项目源代码、版本控制、代码复用与查找、权限管控
Git 家族成员
- Git:是一种版本控制系统,是一个命令,是一种工具
- Gitlib:是用于实现 Git 功能的开发库
- Github:是一个基于 Git 实现的在线代码托管仓库,包含一个网站界面,向互联网开放
- GitLab:是一个基于 Git 实现的在线代码仓库托管软件,你可以用 Github 自己搭建一个类似于 Github 一样的系统,一般用于在企业、学校等内部网络搭建 git 私服
GitLab 和 GitHub 的不同
Github
- Github 分布式在线代码代码托管仓库
- 个人版本可以直接在线(Web)免费试用,企业版本收费且需要服务器安装
Gitlab
- 分布式在线代码仓库托管软件
- 分社区免费版和企业收费版,都需要服务器安装
- 中小公司可以直接使用社区版来管理、保存公司项目代码,不需要使用 Github 直接将私密代码暴露在公网上
Gitlab 优势
- 开源免费,适合中小型公司将代码放置在系统中,社区版目前提供的功能完全能满足中小型公司的日常使用,如果想升级为收费版也可以无缝对接
- 差异化的版本管理,任何微小的变动都会被记录下来
- 离线同步,不依赖网络通信,可以将本地的所有 Git 操作在有网络的时候同步到 Gitlab 仓库中
- 强大分支管理功能,可以针对不同的环境、不同的业务逻辑创建独立的分支,然后进行并行独立的维护和更新
- GUI 操作界面
- 强大账户权限管理,不同账户的权限各不相同,不存在越权的情况
- 集成度很高,能够集成绝大多数的开发工具,比如 JIRA
- 支持内置 HA,保证在高并发下仍然可以高可用性,无需搭建第三方高可用服务,保证用户在 7*24 小时均能使用
Gitlab 主要服务构成
- Nginx 静态 Web 服务器:proxy 代理,处理所有 HTTPS 静态访问请求
- Gitlab-workhorse 轻量级的反向代理服务器:处理一些较大的文件上传下载,以及我们经常使用的 git push 命令行操作
- Gitlab-shell:用户处理 Git 命令和修改 authorized keys 列表(ssh 公钥列表)
- Logrotate:日志文件管理工具,负责Gitlab 日志切割、打包等操作
- Postgresql:数据库,保存所有 Gitlab 数据信息
- Redis:缓存服务器,缓存数据库信息
Gitlab 简单工作流程
- 创建并克隆项目
- 创建项目某 Feature 分支
- 编写代码并提交至该分支
- 推送该项目分支到远程 Gitlab 服务器
- 进行代码检查并提交 Master 主分支合并申请
- 项目主管审查代码并确认合并申请
Gitlab(1)- 简单介绍的更多相关文章
- Docker的简单介绍及使用
Docker介绍 Docker是Docker.Inc公司开源的一个基于LXC技术之上构建的Container容器引擎,源代码托管在GitHub上,基于Go语言并遵从Apache2.0协议开源. Doc ...
- git 客户端连接gitlab 实现简单的CI/CD
1. git 客户端的安装 下载: https://git-scm.com/download/win 截至最近:20180728最新版本 2.18的下载地址 https://github-produc ...
- [Docker]学习笔记--简单介绍
学习docker已经有一段时间了,一直没有静下心来好好总结一下. 最近用docker搭了一整套Gitlab的持续集成环境.(会在下一篇中详细的讲解具体步骤,敬请期待) 感觉是时候写点东西和大家一起分享 ...
- [原创]关于mybatis中一级缓存和二级缓存的简单介绍
关于mybatis中一级缓存和二级缓存的简单介绍 mybatis的一级缓存: MyBatis会在表示会话的SqlSession对象中建立一个简单的缓存,将每次查询到的结果结果缓存起来,当下次查询的时候 ...
- 利用Python进行数据分析(7) pandas基础: Series和DataFrame的简单介绍
一.pandas 是什么 pandas 是基于 NumPy 的一个 Python 数据分析包,主要目的是为了数据分析.它提供了大量高级的数据结构和对数据处理的方法. pandas 有两个主要的数据结构 ...
- 利用Python进行数据分析(4) NumPy基础: ndarray简单介绍
一.NumPy 是什么 NumPy 是 Python 科学计算的基础包,它专为进行严格的数字处理而产生.在之前的随笔里已有更加详细的介绍,这里不再赘述. 利用 Python 进行数据分析(一)简单介绍 ...
- yii2的权限管理系统RBAC简单介绍
这里有几个概念 权限: 指用户是否可以执行哪些操作,如:编辑.发布.查看回帖 角色 比如:VIP用户组, 高级会员组,中级会员组,初级会员组 VIP用户组:发帖.回帖.删帖.浏览权限 高级会员组:发帖 ...
- angular1.x的简单介绍(二)
首先还是要强调一下DI,DI(Denpendency Injection)伸手获得,主要解决模块间的耦合关系.那么模块是又什么组成的呢?在我看来,模块的最小单位是类,多个类的组合就是模块.关于在根模块 ...
- Linux的简单介绍和常用命令的介绍
Linux的简单介绍和常用命令的介绍 本说明以Ubuntu系统为例 Ubuntu系统的安装自行百度,或者参考http://www.cnblogs.com/CoderJYF/p/6091068.html ...
- iOS-iOS开发简单介绍
概览 终于到了真正接触IOS应用程序的时刻了,之前我们花了很多时间去讨论C语言.ObjC等知识,对于很多朋友而言开发IOS第一天就想直接看到成果,看到可以运行的IOS程序.但是这里我想强调一下,前面的 ...
随机推荐
- Vue3学习第一例:Vue3架构入门
入门 Vue3的教程很少,官方网站实例不好整,另外由于Python的Django也掌握了,学习这个有些让人眼乱.Vue项目创建后,在public目录下面自动生成了一个index.htm,里面有个div ...
- Java数组01——声明创建、赋值及特点
数组声明创建 数组的四个基本特点 例子 package array; public class ArrayDemon01 { //变量的类型 变量的名字 = 变量的值 / ...
- 【学习笔记】Expression表达式目录树
Expression表达式目录树:一个能拼装能解析的数据结构,语法树. 一.手动拼装表达式目录树 示例1: /// <summary> /// 展示表达式树,协助用的 /// 编译lamb ...
- 使用simg2img win提取安卓官方ROM包中独立的系统软件
一.背景 今天是七夕情人节诶,但是与我一只单身老狗有啥关系呢?一大早发现手机系统更新了(MIUI12.5 增强版),但是更新完后感觉充电速度不是很妙(你们懂得),为了恢复之前的充电速度,首先想到将手机 ...
- 连通图与Tarjan算法
引言 Tarjan算法是一个基于深度优先搜索的处理树上连通性问题的算法,可以解决,割边,割点,双连通,强连通等问题. 首先要明白Tarjan算法,首先要知道它能解决的问题的定义. 连通图 无向图 由双 ...
- Linux的磁盘管理和文件系统
一.磁盘结构 1.1.硬盘的物理结构 盘头:硬盘有多个盘片,每盘片2面 磁头:每面一个磁头 1.2.硬盘的数据结构 扇区:盘片被分为多个扇形区域,每个扇区存放512字节的数据,硬盘的最小存储单位 磁道 ...
- SQL 练习9
查询学过「张三」老师授课的同学的信息 SELECT Student.* from Student,Teacher,Course,SC WHERE Teacher.TId = Course.TId AN ...
- NOIP 模拟 9 分组
题解 这道题我们发现可以根据 \(k=1\) 和 \(k=2\) 的情况分别讨论 \(k=1\) 时,我们发现要保证字典序,那么我们从后往前扫,扫的时候判断一下当前数是否会和上一段的冲突. 复杂度瓶颈 ...
- DataTable 读取每一行的内容
foreach (DataRow item in dataTable.Rows) { for (int i = 0; i < dataTable.Columns.Count; i++) { Co ...
- SpringCloud之Hystrix集群监控turbine仪表盘
1.引入 在前一节中我们演示了单机模式下Hystrix服务监控Dashboard仪表盘,但是在实际生产中微服务都是集群模式, 为了更接近世界生产,我们在这里也给大家讲一下如何监控集群模式 2.准备工作 ...