原文地址

2016-03-29
  • 开启阅读模式

git干货系列:(六)公司内部搭建git服务器

git

前言

因为gitHub上的项目是公开的,不适合公司内部项目放在上面,而私人的需要收费,这绝非是我们愿意的。所以找了个跟gitHub很相似,但是又免费的gitLab。现在将搭建gitLab过程记录一下留作参考。

正文

gitLab介绍

GitLab是利用 Ruby on Rails 一个开源的版本管理系统,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目。它拥有与Github类似的功能,能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库。团队成员可以利用内置的简单聊天程序(Wall)进行交流。它还提供一个代码片段收集功能可以轻松实现代码复用,便于日后有需要的时候进行查找。

依赖组件:ruby 1.9.3+,MySQL,git,redis, Sidekiq。
最低配置CPU 1G,RAM 1G+swap可以支持100用户。

先连接SSH

首先要确定ubuntu上安装并且启动了ssh服务,然后还要确保linux系统上的防火墙要关闭,win8的防火墙可以正常开启
SSH(仿真终端工具有PUTTY,SecureCRT 以及Fterm等)可以google下载的了.
步骤:
1, 有人说首先要在Virtual Network EditorNAT的端口映射,其实是不需要的;

1
ps -e|grep ssh

如果结果中只有ssh-agent,那说明ssh-server还没有启动,一般ubuntu是默认安装ssh的,要是没有安装,可以通过

1
sudo apt-get install openssh-server

安装ssh服务

1
sudo /etc/init.d/ssh start

启动ssh服务

初始化root密码

ubuntn刚安装时候root还没有密码,设置一个,使用命令

1
sudo passwd

安装gitlib整合包

官方有安装包与脚本下载,官方安装指南。同样GITHUB上有个社区非官方的安装指南。
但这儿里推荐bitnami下载打包安装版本 https://bitnami.com/stack/gitlab/installer ,省去很多时间。他们也提供相关WIKI
以ubuntu为演示环境,来安装这个包,切换到root账户, 在终端运行:
如果没有权限,先授权账号:

1
chmod 777 bitnami-gitlab-8.5.7-0-linux-x64-installer.run

然后切换root用户执行:

1
./bitnami-gitlab-8.5.7-0-linux-x64-installer.run

执行后就会弹出图形化界面,一步步确认就行,如下图

启动命令

第一次安装好了就默认启动了gitlab,如果要手动启动的话有两种办法
1.找到安装好的路径/opt/gitlab-8.5.7-0
需要root权限执行命令:

1
sudo ./ctlscript.sh start

2.也可以查看GUI管理控制台,在Manage Servers中选择Start All启动所有

1
sudo ./manager-linux-x64.run

登陆系统

启动后,就可以访问系统页面了,这里先通过ifconfig命令获取当前的ip地址

我的是192.168.153.128,于是就可以在外面window系统浏览器访问

http://192.168.153.128/users/sign_in

使用我之前配置的git登陆,我之前安装的时候配置的管理员账号是git,密码12345678,
这里我登陆后发现跳转到404页面,把地址http://192.168.153.128/users/sign_in
后面的users/sign_in删掉回车就行,就去后界面如下:

创建项目前的设置

如果你是自己一个人玩就直接创建项目即可,因为我这边是给团队使用的,所以需要创建一下用户组,以及添加组成员,配置权限等,下面来介绍这些配置

配置服务器邮件

添加人员或者自己注册的时候需要发邮件激活,所以要先配置服务器,我在bitnami提供的wiki里面找到了办法,原文如下:

How to configure the email settings of GitLab?
You can configure the SMTP settings during the installation process. If you are using the Virtual Machine or AMI, you can configure it manually. For example, these are the options to configure it using a GMail account:
/opt/bitnami/apps/gitlab/htdocs/config/environments/production.rb

123456789101112
config.action_mailer.raise_delivery_errors = trueconfig.action_mailer.delivery_method = :smtp   config.action_mailer.perform_deliveries = trueconfig.action_mailer.smtp_settings = {:address => "smtp.gmail.com",:port => 587,:domain => "gmail.com",:authentication => :plain,:user_name => "your_account@gmail.com",:,password => "your_password",:enable_starttls_auto => true }

简单的说就是修改/opt/bitnami/apps/gitlab/htdocs/config/environments/production.rb文件,里面的内容,addressdomainuser_namepassword这几个配置成你自己的邮箱,记得你的邮箱必须要支持smtpport端口我默认也是587,不需要修改。
配置好了邮箱,就要测试一下,我们在http://192.168.153.128/users/sign_in 首页,注册一个额用户,然后我收到邮件激活,然后就可以登陆系统了。

可以看到,非管理员登陆右上角就没有Admin Area功能

创建小组,添加组内成员

让组内成员自己注册账号激活后,我们就准备创建小组了,创建小组是为了方便管理,创建项目的时候直接指定小组,这样小组内的成员都可以看到项目

新增项目

小组创建好了就可以新增一个项目了,这里创建的时候选择edw这个创建好的小组,并且项目宣称private私有项目。这样只有小组内的成员可以下载这个项目

配置SSH key

这里切换到tengj用户登陆,发现已经有了springmvctouchbaidu项目


但是要下载到本地还需要配置SSH key,复制我们本地\.ssh\id_rsa.pub的内容黏贴到下面图中指定的即可。

远程下载项目

这里模拟tengj下载远程项目,在这之前我已经用管理员账号把项目传上去了,如图

指定一个目录存放该项目,执行git clone命令:

123456789101112
$ git clone git@192.168.153.128:edw/springmvctouchbaidu.gitCloning into 'springmvctouchbaidu'...The authenticity of host '192.168.153.128 (192.168.153.128)' can't be established.ECDSA key fingerprint is SHA256:1SgfW1DLmaZ9m/E82vVtWjBK1AaP+LMW5U4ng8nv6uE.Are you sure you want to continue connecting (yes/no)? yesWarning: Permanently added '192.168.153.128' (ECDSA) to the list of known hosts.remote: 对象计数中: 339, 完成.remote: 压缩对象中: 100% (242/242), 完成.remote: Total 339 (delta 68), reused 339 (delta 68)Receiving objects: 100% (339/339), 12.97 MiB | 14.44 MiB/s, done.Resolving deltas: 100% (68/68), done.Checking connectivity... done.

搞定,下载下来了。

配置权限

前面文章也说过,一般一个实际项目中master用来版本发布,一般不在这个分支上开发,所以除了git管理员用户可以提交代码到master外,其他组成员只能push代码到dev这个分支。
比如我添加tengj用户的时候选择的是Developer角色,只要在Protected Branches中这个勾不够上就行了。这样开发人员就无法push代码到master分支上。

下面模拟一下tengj用户提交代码:

总结

ok,花了三天时间终于搞定了,截图还是蛮累人的哈哈,算是比较详细的记录了我这次安装gitlab的过程,个人感觉比网络上的文章调理清晰多了。一开始查资料快累死了。希望对你有所帮助。


本文标题:git干货系列:(六)公司内部搭建git服务器

文章作者:嘟嘟MD

发布时间:2016-03-29, 15:24:03

最后更新:2019-08-18, 11:36:50

原始链接:http://tengj.top/2016/03/29/git6gitlab/

许可协议: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。


http://www.taodudu.cc/news/show-2209850.html

相关文章:

  • 高阶的Parser:可变运算优先级
  • linux ssh密钥验证失败,连接Linux的服务器时使用SSH密钥认证及解决自动断连问题...
  • Ubuntu 12 ssh 安装 终端命令 报软件依赖 错误(未解决)
  • mysql能上传程序吗_利用mysql上传和执行文件
  • linux下ssh下载命令,SSH 登录工具常用命令
  • linux错误命令数字,Linux 命令及踩坑
  • xming linux 图形界面,转:Xming + PuTTY 在Windows下远程Linux主机使用图形界面的程序...
  • 网络连接状态断开服务器无响应,解决SSH自动断线,无响应的问题。
  • UG二次开发-基础篇:GRIP函数查询表与帮助文档
  • PL/0语言 语义分析及中间代码生成
  • 我们不用开浏览器也能上BBS——带你体验telnet的魅力(zz) (转载)
  • telnet登陆入门
  • Linux实用工具
  • AmiGO2:在线浏览和查询GO信息的利器
  • Fterm附带IP数据库的修改
  • fterm 控制台乱码解决
  • 一维和二维傅里叶变换的图片直观理解
  • 二维傅里叶变换频谱图的含义
  • 浅学一维傅里叶变换【下一章发布 : 快速二维傅里叶变换FFT、快速二维傅里叶逆变换IFFT】
  • 【转载】python做图像的傅里叶变换——二维傅里叶变换
  • 【经典算法实现 42】二维傅里叶变换 及 逆变换代码实现
  • python3 numpy二维方法_使用Python numpy 进行二维傅里叶变换 和 图片自相关
  • Matlab图像的二维傅里叶变换频谱图特点研究
  • 二维离散傅里叶变换
  • 二维傅里叶变换深度研究-图像与其频域关系
  • 二维傅里叶变换的意义
  • OpenCV学习——图像二值化处理及二维傅里叶变换
  • 极坐标格式下的二维傅里叶变换与逆变换推导
  • 图像的二维傅里叶变换的频谱图代码实现
  • 傅里叶级数、一维傅里叶变换到二维傅里叶变换数理推导

公司内部搭建git服务器相关推荐

  1. Windows 使用 Gogs 搭建 Git 服务器

    随便说两句 之前有使用 Gitblit 在Windows搭建Git服务器,用的也挺好的,可能安装起来略麻烦一点.现在全用 Gogs 在windows搭建Git服务器,主要是因界面好看,管理更方便一些. ...

  2. 88.搭建git服务器 安装与使用gitlab gitlab备份与恢复

    2019独角兽企业重金招聘Python工程师标准>>> 22.13 搭建git服务器 22.14/22.15 安装gitlab 22.16 使用gitlab 22.17 gitlab ...

  3. Git -- 搭建git服务器

    在远程仓库一节中,我们讲了远程仓库实际上和本地仓库没啥不同,纯粹为了7x24小时开机并交换大家的修改. GitHub就是一个免费托管开源代码的远程仓库.但是对于某些视源代码如生命的商业公司来说,既不想 ...

  4. Git之搭建Git服务器

    在远程仓库一节中,我们讲了远程仓库实际上和本地仓库没啥不同,纯粹为了7x24小时开机并交换大家的修改. GitHub就是一个免费托管开源代码的远程仓库.但是对于某些视源代码如生命的商业公司来说,既不想 ...

  5. 使用gitblit在Windows上搭建git服务器

    使用gitblit在Windows上搭建git服务器 概述 工具准备 安装流程 安装jre-7 测试java环境 解压并配置gitblit 修改data目录下的defaults.properties文 ...

  6. windows 本地搭建git仓库_搭建Git服务器

    在远程仓库一节中,我们讲了远程仓库实际上和本地仓库没啥不同,纯粹为了7x24小时开机并交换大家的修改. GitHub就是一个免费托管开源代码的远程仓库.但是对于某些视源代码如生命的商业公司来说,既不想 ...

  7. Git 基础知识 -- 环境配置、搭建Git服务器

    简介 ​ Git 是一种分布式的项目版本控制管理工具,所采取的概念是 "去中心化" ,每个开发人员都有自己的本地代码仓库,同时为同一个远程仓库服务.有了 Git 就可以将某个文件回 ...

  8. centos7 下搭建git服务器

    总的来说,搭建git和svn形式差不多 1.首先要在服务器安装git环境,创建用户密码和仓库等 2.然后个人主机(基本是window)安装git客户端 3.将个人主机客户端的秘钥写到git服务器的一个 ...

  9. 搭建Git服务器教程转载

    1. 在Windows下使用ssh+msysgit客户端搭建Git服务器 http://www.codeproject.com/Articles/296398/Step-by-Step-Setup-G ...

  10. git进入项目目录 windows_Windows下搭建Git服务器

    Windows平台下搭建Git服务器的图文详解及教程 Git没有客户端服务器端的概念,但是要共享Git仓库,就需要用到SSH协议(FTP , HTTPS , SFTP等协议也能实现Git共享,此文档不 ...

最新文章

  1. CSS里常见的块级元素和行内元素
  2. javaweb利用struts2完成批量删除记录
  3. Kaggle Titanic补充篇
  4. java诸神之战游戏_mj回溯算法 - osc_7bgz0no1的个人空间 - OSCHINA - 中文开源技术交流社区...
  5. 木兰编程语言python_ulang(木兰编程语言)
  6. C++工程师面试题大全
  7. 点击一下,即可在 Windows 10 实现路过式远程代码执行,未修复
  8. 问题三十五: 怎么用ray tracing画二次曲面(quadratic surfaces)(3)——椭球抛物面
  9. 2009年上半年软考所有试题和答案公布 专家解析中
  10. redis 内存碎片清理
  11. GhostScript 沙箱绕过命令执行漏洞
  12. 从信号处理的角度研究毫米波联合雷达通信
  13. RISC-V 指令架构 -- 模式切换
  14. python如何实现接口?
  15. 网易云音乐 2.1.0
  16. 将一台笔记本电脑作为另一台笔记本电脑的扩展显示器
  17. VS2010编译的程序在XP上无运行库执行,以及ADO在XP上报80004003的错误处理
  18. “光猫”调制解调器 和 路由器的区别 傻傻分不清
  19. MMI of UIQ
  20. android系统流畅度排行,最流畅安卓手机排名:华为mate40Pro第六,第一堪比iOS!...

热门文章

  1. Arduino传感器实验清单
  2. SteamVR 错误代码 108 / 203 / 208 / 301 / 306 / 308 / 400 / 405 排解方法
  3. 筛选N以内的素数C语言版(1022)
  4. 关于论文可查阅的网站
  5. opencv图像灰度化
  6. OpenCV 模板匹配
  7. java毕业设计网上教学系统mybatis+源码+调试部署+系统+数据库+lw
  8. go技术文章梳理(2017)
  9. msys2+mingw64+ragel安装
  10. python实现 模糊C均值聚类算法(Fuzzy-C-Means)-基于iris数据集