GitBlit 搭建自己git版本控制中心

前言

为什么要介绍GitBlit来搭建git服务器呢?由于之前介绍过一篇搭建本地cocoapods库,可是如果是基于github的话仍然是公开的,当然你可以花钱买私有仓库(repository)权限。或者选用其他具有免费私有git服务网站,但对于无法访问公网的一些公司,搭建一个自己的或者公司,企业内部的小型git服务中心还是挺不错的。废话少说,下面就简短介绍基本搭建方法。

基础配置

推荐查看官方设置文档,和查看default.properties文件注释说明。

  1. 打开data文件夹下的default.properties配置http/https服务端口号,服务密码等

     #设置为0时及关闭对应服务
     #当配置好https后推荐关闭http服务-安全是很重要的O(∩_∩)O~~
     server.httpPort = 19991
     server.httpsPort = 9119
     
     #这个是ssl的加密的密码(不能输入 "#")
     server.storePassword = gitblit 
     
     #单次提交最大尺寸默认8k,你觉得上传图片有保障吗?
     git.packedGitLimit = 20m
     
     #git库的文件存放目录
     git.repositoriesFolder = [你想要存放文件的路径]
    

    当初在这里默默被坑,最后发现这个密码最多只能设置7位,超过就报错.原因:是缺少一个JCE文件导致密码被限制长度,当初刷一下就过去了根本不会看那么细啊,有木有同样踩坑的(๑•ᴗ•๑)。(当然下载安装后就解除限制了)

    GitBlit 搭建自己git版本控制中心_第1张图片
    jce.png

    ps:本地单项目处理大文件无法上传
    其实很简单,在项目的.git/config里加入:
    threads = 1 00
    deltaCacheSize = 256m
    packSizeLimit = 180m
    windowMemory = 128m
    packedGitLimit = 1000m
    packedGitWindowSize = 1000m
    (当然你也可以配置LFS-Gitblit是支持lfs功能的)

  2. 打开服务后,进入https://localhost:9119(用自己配置的端口)观察效果

     $ java -jar gitblit.jar --baseFolder data
     $ ./gitblit.sh
    
  3. 如果第二步收到Safari阻拦只需要选择信任证书即可

到这里我们自己的git控制中心就OK了但如果仔细看了运行java -jar gitblit.jar --baseFolder data时会有相关的证书等ssl设置。但是默认设置你放心吗?
接下来继续了解有关ssl的设置

SSL配置

  1. 安装data/certs/caKeyStore.p12根证书然后执行

     #打开证书配置GUI
     $ java -cp gitblit.jar com.gitblit.authority.Launcher --baseFolder data
    

or

    $ ./authority.sh
GitBlit 搭建自己git版本控制中心_第2张图片
GUI.png
  1. 点击红色按钮新建https服务端证书(自己创建的主机名默认为localhost,局域网下其他电脑是无法访问的,这是由于证书验证主机名hostname无法通过localhost匹配对应域名的原因),此时主机名改为你电脑的ip,或一个公网ip、域名达到外界可以访问
GitBlit 搭建自己git版本控制中心_第3张图片
newServerCer.png
  1. 重新打开服务后,进入https://192.168.x.xxx:9119(用自己配置的端口)观察效果

     $ java -jar gitblit.jar --baseFolder data
    
  2. 选择用户创建对应的客户端证书

GitBlit 搭建自己git版本控制中心_第4张图片
clientCer.png

配置SSHKey实现免密码克隆

  1. 查看git 用户基本配置(用户名,邮箱)

      git config --lis  
    
  2. 若1中没有显示全局用户名与邮箱则需要手动设置

     git config --global user.name "username"  
     git config --global user.email "[email protected]" 
    
  3. 创建sshKey文件(要不要评论/备注都没关系)

     #带评论创建
     ssh-keygen -t rsa -C "[email protected]"  
     #不带评论创建
     ssh-keygen -t rsa 
    

输入命令后依次会有三次交互:

  • 生成文件的名字---必须为空
  • 生成文件的密码---为空
  • 确认密码--为空
    /Users/lqx/.ssh/id_rsa

GitBlit 搭建自己git版本控制中心_第5张图片
sshkey.png

前往 /Users/lqx/.ssh/id_rsa该目录下的*.pub(公钥)文件,复制全部内容到gitbli用户中心的SSHKey下保存,OK,以后你就可以通过

git clone ssh@admin/Path/*.git

免密clone了。。

基于Tomcat Gitblit.war快捷配置

由于我有一个tomcat所以采用的这种方式,在manangerAPP中配置war文件就OK了,其他配置都一样(SSL部分不需要,取决于tomcat配置)

ps:这里不做赘述可以,有需求可以联系我。

你可能感兴趣的:(GitBlit 搭建自己git版本控制中心)