Git服务(一):部署企业级github服务

一、Git的诞生:

  很多人都知道,Linus在1991年创建了开源的Linux,从此,Linux系统不断发展,已经成为最大的服务器系统软件了,Linus虽然创建了Linux,但Linux的壮大是靠全世界热心的志愿者参与的,这么多人在世界各地为Linux编写代码,那Linux的代码是如何管理的呢?事实是,在2002年以前,世界各地的志愿者把源代码文件通过diff的方式发给Linus,然后由Linus本人通过手工方式合并代码!你也许会想,为什么Linus不把Linux代码放到版本控制系统里呢?不是有CVS、SVN这些免费的版本控制系统吗?因为Linus坚定地反对CVS和SVN,这些集中式的版本控制系统不但速度慢,且必须联网才能使用。有一些商用的版本控制系统,虽然比CVS、SVN好用,但那是付费的,和Linux的开源精神不符,不过,到了2002年,Linux系统已经发展了十年了,代码库之大让Linus很难继续通过手工方式管理了,社区的弟兄们也对这种方式表达了强烈不满,于是Linus选择了一个商业的版本控制系统BitKeeper,BitKeeper的东家BitMover公司出于人道主义精神,授权Linux社区免费使用这个版本控制系统,安定团结的大好局面在2005年就被打破了,原因是Linux社区牛人聚集,不免沾染了一些梁山好汉的江湖习气。开发Samba的Andrew试图破解BitKeeper的协议(这么干的其实也不只他一个),被BitMover公司发现了(监控工作做得不错!),于是BitMover公司怒了,要收回Linux社区的免费使用权,Linus可以向BitMover公司道个歉,保证以后严格管教弟兄们,嗯,这是不可能的。实际情况是这样的:Linus花了两周时间自己用C写了一个分布式版本控制系统,这就是Git!一个月之内,Linux系统的源码已经由Git管理了!牛是怎么定义的呢?大家可以体会一下,Git迅速成为最流行的分布式版本控制系统,尤其是2008年,GitHub网站上线了,它为开源项目免费提供Git存储,无数开源项目开始迁移至GitHub,包括jQuery,PHP,Ruby等等。历史就是这么偶然,如果不是当年BitMover公司威胁Linux社区,可能现在我们就没有免费而超级好用的Git了。

  2002年之前linux的开发者使用提交代码之后使用diff命令进行代码合并,在2002年之后有个商业版的版本控制软件BitKeeper免费授权给linux使用,但是在2005年的时候samba的作者Andrew试图破解BitKeeper的协议但是被监控发现了,于是Linus没有道歉,而且花费两周时间使用C语言重新编写了一个分布式的版本控制系统,就是当前最牛的分布式版本控制系统Git。

  Git在每个用户都有一个完整的服务器,然后在有一个中央服务器,用户可以先将代码提交到本地,没有网络也可以先提交到本地,然后在有网络的时候再提交到中央服务器,这样就大大方便了开发者,而相比CVS和SVN都是集中式的版本控制系统,工作的时候需要先从中央服务器获取最新的代码,改完之后需要提交,如果是一个比较大的文件则需要足够快的网络才能快速提交完成,而使用分布式的版本控制系统,每个用户都是一个完整的版本库,即使没有中央服务器也可以提交代码或者回滚,最终再把改好的代码提交至中央服务器进行合并即可。

  关于分支:

  master分支,进行发布的版本

  dev 分支,也是测试的代码分支,测试没有问题之后合并到master

  自己的分支

二、Git的安装

mkdir /home/tools
cd /home/tools/
wget https://bitnami.com/redirect/to/96764/bitnami-gitlab-8.5.1-0-linux-x64-installer.run
chmod +x ./bitnami-gitlab-8.5.1-0-linux-x64-installer.run
./bitnami-gitlab-8.5.1-0-linux-x64-installer.run
----------------------------------------------------------------------------
Welcome to the Bitnami Gitlab Stack Setup Wizard.

----------------------------------------------------------------------------
Select the components you want to install; clear the components you do not want
to install. Click Next when you are ready to continue.

PhpPgAdmin [Y/n] :n

GitLab : Y (Cannot be edited)

Is the selection above correct? [Y/n]: y

----------------------------------------------------------------------------
Installation folder

Please, choose a folder to install Bitnami Gitlab Stack

Select a folder [/opt/gitlab-8.5.1-0]: /data/app/gitlab

----------------------------------------------------------------------------
Create Admin account

Bitnami Gitlab Stack admin user creation

Email Address [[email protected]]: [email protected]123.com

Login [user]: chenxin  #登陆时的用户名

Password :        #登陆时的密码
Please confirm your password :
Warning: The length of the password must be equal or greater than 8
Press [Enter] to continue:
----------------------------------------------------------------------------
Create Admin account

Bitnami Gitlab Stack admin user creation

Email Address [[email protected]123.com]: 

Login [chenxin]: 

Password :
Please confirm your password :
----------------------------------------------------------------------------
Hostname that will be used to create internal URLs. If this value is incorrect,
you may be unable to access your Gitlab installation from other computers. It is
advisable to use a Domain instead of an IP address for compatibility with
different browsers.

Domain [127.0.0.1]: 172.16.1.100

Do you want to configure mail support? [y/N]: y

----------------------------------------------------------------------------
Configure SMTP Settings

This is required so your application can send notifications via email.

Default email provider:

[1] GMail
[2] Custom
Please choose an option [1] : 2

----------------------------------------------------------------------------
Configure SMTP Settings

This data is stored in the application configuration files and may be visible to
others. For this reason, it is recommended that you do not use your personal
account credentials.

Username []: [email protected]123.com  #发送邮件的邮箱

Password :            #邮箱的密码
Re-enter :
SMTP Host []: smtp.qiye.163.com

SMTP Port [587]: 110

Secure connection

[1] None
[2] SSL
[3] TLS
Please choose an option [3] : 1

----------------------------------------------------------------------------
Setup is now ready to begin installing Bitnami Gitlab Stack on your computer.

Do you want to continue? [Y/n]: y

----------------------------------------------------------------------------
Please wait while Setup installs Bitnami Gitlab Stack on your computer.

 Installing
 0% ______________ 50% ______________ 100%
 #########################################

----------------------------------------------------------------------------
Setup has finished installing Bitnami Gitlab Stack on your computer.

Info: To access the Bitnami Gitlab Stack, go to
http://172.16.1.100:80 from your browser.
Press [Enter] to continue

三、配置git服务

3.1 初始化配置

3.1.1 为了安全问题,首先去掉登陆页面注册账户的模块,如下图。

时间: 2024-11-11 09:19:29

Git服务(一):部署企业级github服务的相关文章

Linux网络服务11——部署YUM仓库服务

Linux网络服务11--部署YUM仓库服务 一.YUM简介 YUM的前身是YUP(Yellow dog Updater)Yellow dog Linux的软件更新,最初由TSS公司(Terra Soft Solutions,INC.)使用Python语音开发而成,后由杜克大学(Duck University)的Linux开发队伍进行改进,命名为YUM(Yellow dog Updater , Modified) 借助于YUM软件仓库,可以完成安装.卸载.自动升级rpm软件包等任务,能够自动查找

Git系列②之部署企业级开源仓库gitlab服务器

上一篇我们介绍了github的常见使用方法,下面开始部署本地开源仓库gitlab GitLab 是一个用于仓库管理系统的开源项目. 1.安装配置gitlab依赖项 如想使用Postfix来发送邮件,在安装期间请选择'Internet Site'. 您也可以用sendmai或者 配置SMTP服务并使用SMTP发送邮件在 Centos7系统上, 下面的命令会在系统防火墙里面开放HTTP和SSH端口. 安装相关依赖,并设置开机自启动 # yum install -y curl policycoreut

Ubuntu 16.04下配置nginx与nodejs以及服务的部署

title: Ubuntu 16.04下配置nginx与nodejs以及服务的部署 date: 2019-05-05 22:45:49 tags: Linux --- 第一步:安装nginx sudo apt-get update sudo apt-get install nginx 如果遇到依赖问题,尝试执行sudo apt-get -f install命令 第二步:配置nginx 首先备份原先的配置文件:sudo cp /etc/nginx/sites-available/default /

基于docker部署的微服务架构(四): 配置中心

原文:http://www.jianshu.com/p/b17d65934b58%20 前言 在微服务架构中,由于服务数量众多,如果使用传统的配置文件管理方式,配置文件分散在各个项目中,不易于集中管理和维护.在 spring cloud 中使用 config-server 集中管理配置文件,可以使用 git.svn.本地资源目录 来管理配置文件,在集成了 spring cloud bus 之后还可以通过一条 post 请求,让所有连接到消息总线的服务,重新从config-server 拉取配置文

Centos7部署kubernetes API服务(四)

1.准备软件包 [[email protected] bin]# pwd /usr/local/src/kubernetes/server/bin [[email protected] bin]# cp kube-apiserver kube-controller-manager kube-scheduler /opt/kubernetes/bin/ 2.创建生成CSR的JSON配置文件 [[email protected] bin]# cd /usr/local/src/ssl/ [[emai

Prometheus+Grafana部署监控docker服务

1.环境192.168.244.128 Prometheus 监控服务器192.168.244.129 docker 服务(被监控端)注:都是centos7.5系统 2.下载安装包https://prometheus.io/download/ (需要的安装包都可以下载)wget https://github.com/prometheus/prometheus/releases/download/v2.3.2/prometheus-2.3.2.linux-amd64.tar.gz 服务端(监控se

配置服务 apollo 部署实践

前言 ????Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境.不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限.流程治理等特性,适用于微服务配置管理场景. github 地址:https://github.com/ctripcorp/apollo 服务端基于Spring Boot和Spring Cloud开发,打包后可以直接运行,不需要额外安装Tomcat等应用容器 Java客户端不依赖任何框架,能够运行于所有Java运行时环境,同时对Sp

企业级Memcached服务应用实践。

企业级Memcached服务应用实践 Memcached服务 一, Memcached介绍 1.1 Memcached与常见同类软件对比 (1)Memcached是什么? Memcached是一个开源的,支持高性能,高并发的分布式内存缓存系统,由C语言编写,总共2000多行代码.从软件名称上看,前3个字符"Mem"就是内存的意思,而接下来的后面5个字符"cache"就是缓存的意思,最后一个字符d,是daemon的意思,代表是服务器端守护进程模式服务. Memcach

如何在 Intellij IDEA 更高效地将应用部署到容器服务 Kubernetes

前言在之前的一篇文章中,我们介绍了 如何将一个本地的 Java 应用程序直接部署到阿里云 ECS ,有不少读者反馈,如果目前已经在使用阿里云容器服务 Kubernetes 了,那该如何配合这个插件部署应用呢?在本文中,我们来介绍 部署应用程序到阿里云容器服务 Kubernetes . 关于容器服务 Kubernetes容器服务 Kubernetes 版提供高性能可伸缩的容器应用管理能力,支持企业级 Kubernetes 容器化应用的全生命周期管理.容器服务 Kubernetes 版简化集群的搭建