Ubuntu搭建Gitlab服务器
想到Gitlab就必定会想到SVN,因为两者都是代码管理系统,作为开发人员来说,用习惯了SVN的图形化界面和SVN代码更新和提交的方式,
可能就会觉得使用git会比较麻烦,其实不然git使用起来非常方便,并且好处也不少,git后面会成为一种流行和趋势。所以在这儿简单的介绍Gitlab
服务器的搭建和git的一些基本操作使用。
Git的优点和缺点介绍
优点
1、适合分布式开发,强调个体
2、公共服务器压力和数据量都不会太大
3、速度快、灵活
4、任意两个开发者之间可以很容易的解决冲突
5、离线可以正常提交代码和工作
缺点
1、学习周期相对而言比较长
2、不符合常规思维
3、代码保密性差,一旦开发者把整个库克隆下来就可以完全公开所有代码和版本信息
准备环境
Ubuntu16.04 server
安装介绍
主要记录在Ubuntu 16.04操作系统中搭建GitLab服务器的操作记录,以下是操作步骤(主要参考资料:https://about.gitlab.com/downloads/#ubuntu1604)
Gitlab安装
1.安装依赖包
sudo apt-get install curl openssh-server ca-certificates postfix
注:执行完成后,出现邮件配置,选择Internet那一项(不带Smarthost的)
2.利用清华大学的镜像(https://mirror.tuna.tsinghua.edu.cn/help/gitlab-ce/)来进行主程序的安装
首先信任 GitLab 的 GPG 公钥
curl https://packages.gitlab.com/gpg.key 2> /dev/null | sudo apt-key add - &>/dev/null
使用root用户修改配置文件
vi /etc/apt/sources.list.d/gitlab-ce.list
#添加以下内容
deb https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/ubuntu xenial main
vi /etc/gitlab/gitlab.rb
external_url 'http://172.16.81.91/'
安装 gitlab-ce
sudo apt-get update
sudo apt-get install gitlab-ce
3.启动sshd和postfix服务
service sshd start
service postfix start
4.添加防火墙规则
sudo iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
5.启动各项服务
sudo gitlab-ctl reconfigure
6..检查GitLab是否安装好并且已经正确运行
sudo gitlab-ctl status
#如果得到类似下面的结果,则说明GitLab运行正常
7.浏览web页面并设置密码
http://172.16.81.91/
8.创建组
9.添加ssh key
git仓库之间的代码传输协议主要使用ssh协议。而一般搭建gitlab的时候使用的git用户是没有密码的,因此直接ssh是不能登录的,就需要使用ssh-keygen上传公钥,使用非对称加密传输。下面讲述如何上传你的ssh公钥:
生成sshkey
在终端中敲下面的命令,第一步会生成一对私钥和公钥,分别存在
~/.ssh/id_rsa
和~/.ssh/id_rsa.pub
中。第二步查看公钥字符串。ssh-keygen -t rsa -C "邮箱地址"
cat ~/.ssh/id_rsa.pub在面板上依次点击Profile Settings –> SSH Keys –> Add SSH Keys。然后把上一步中的
id_rsa.pub
中的内容拷贝出来粘贴到输入框中,保存。
完成上面两步之后就成功的添加了sshkey了,然后就可以上传代码了。
10.创建项目
创建项目Test_Project
下一步,选择组,输入项目名
下一步,创建完成
在项目下面会有git的操作指南教你如何操作
完成创建项目!
至此,基于Ubuntu 16.04 x64操作系统的GitLab服务器搭建工作就完成了!
后续继续分享git的基本使用!
Ubuntu搭建Gitlab服务器的更多相关文章
- ubuntu搭建svn服务器并htpp访问版本库并svn与web同步
Ubuntu搭建SVN服务器多版本库 1 介绍 Subversion是一个自由,开源的版本控制系统,这个版本库就像一个普通的文件服务器,不同的是,它可以记录每一次文件和目录的修改情况.这样就可 ...
- Ubuntu搭建Anki服务器
Ubuntu搭建Anki服务器 第一步安装Anki 阿里云的服务器,xshell远程登录上 #以root用户进行操作 #安装Akni服务 easy_install AnkiServer #添加名为an ...
- Centos7使用docker搭建gitlab服务器
了解到docker的优点,搭建快,运行要求资源低,最重要的是实现的功能和效果都能达到预期,于是决定使用docker来搭建gitlab服务器. 效果图如下: 系统环境:CentOS Linux rele ...
- Ubuntu搭建NFS服务器,NFS协议详细分析
目录 1. Ubuntu搭建NFS服务器 2. NFS协议分析 2.1 实验拓扑: 2.2 在kali抓包分析 1. Ubuntu搭建NFS服务器 NFS(Network FileSystem,网 ...
- 搭建GitLab服务器
前言 每一个开发工作者无非身处2中开发环境:1.开源环境 2.闭源开发环境,若你身处闭源环境或对自己代码安全性要求较高,搭建和使用自己GitLab服务器是必不可少的环节. 可以通过各种方式搭建自己的 ...
- Ubuntu 搭建Web服务器(MySQL+PHP+Apache)详细教程
Ubuntu 搭建Web服务器(MySQL+PHP+Apache)详细教程 看了好多人的博客,有的不全 or 有问题,整理了一下,适合小白 新手先整理几个小问题 1.为啥使用 Linux 搭建服务器? ...
- Ubuntu 搭建 LAMP 服务器
/******************************************************************** * Ubuntu 搭建 LAMP 服务器 * 说明: * 想 ...
- CentOS7 搭建gitlab服务器
本文介绍如何在CentOS7.2上搭建Gitlab服务器,并简单介绍如何使用. Preface 使用的是CentOS7.2的操作系统,安装当前最新版Gitlab服务器,下载地址:清华大学开源软件镜像站 ...
- Git版本控制之ubuntu搭建Git服务器
Git是一个开源的分布式版本控制系统,可以有效.高效的处理从很小到非常大的项目版本管理.使得开发者可以通过克隆(git clone),在本地机器上拷贝一个完整的Git仓库,也可以将代码提交到Git服务 ...
随机推荐
- Java零碎总结
获取当前类运行的根目录(即classpath,如bin.classes.AppName等)的方式有: 1.Thread.currentThread().getContextClassLoader(). ...
- FastJson--阿里开源的速度最快的Json和对象转换工具
示例 import java.util.ArrayList; import java.util.List; import java.util.HashMap; import java.util.Map ...
- Java JTS & 空间数据模型
空间数据模型 判断两个几何图形是否存在指定的空间关系.包括: 相等(equals).分离(disjoint).相交(intersect).相接(touches).交叉(crosses).包含于(wit ...
- MySQL数据库 Event 定时执行任务.
一.背景 由于项目的业务是不断往前跑的,所以难免数据库的表的量会越来越庞大,不断的挤占硬盘空间.即使再大的空间也支撑不起业务的增长,所以定期删除不必要的数据是很有必要的.在我们项目中由于不清理数据,一 ...
- bzoj 4537 HNOI2016 最小公倍数
Description 给定一张N个顶点M条边的无向图(顶点编号为1,2,-,n),每条边上带有权值.所有权值都可以分解成2^a*3^b的形式.现在有q个询问,每次询问给定四个参数u.v.a和b,请你 ...
- Android模拟器
一.Genymotion 1.下载安装:https://www.genymotion.com/download/ (注:安装前需要先注册) 因为Genymotion运行需要VirtualBox,如果 ...
- js基础:对DOM进行操作,删除、添加元素
<body> <div id="div1"> <p id="p1">第一段</p> <p id=" ...
- ASP.NET如何通过后台数据库提供的链接播放视频(不使用外置插件)
1.后台视频数据库: 2.aspx中的关键代码: <asp:DataList ID="DataList2" runat="server" DataKeyF ...
- python中顺序查找分析和实现
顺序查找算法是一种很基本的查找算法,该算法的复杂度一般是最大是O(n),假如加上顺序查找,算法的复杂度 还要降一倍,为O(n/2). Python的代码实现如下所示: def sequential_s ...
- robotframework的学习笔记(十六)----robotframework标准库String
官方文档:http://robotframework.org/robotframework/latest/libraries/String.html Introduction A test libra ...