草庐IT

玩转git第7章 搭建本地私有的git服务器

健康平安的活着 2024-01-06 原文

一 概述

1.1 概述说明

搭建自己的代码托管服务git服务,使用的是gitblit插件,具体操作搭建步骤详情见下文。

客户端软件: git-2.34.1-64.bit

服务端软件:gitblit-1.8.0

1.2 linux版本下搭建gitlab

本案例是在windows下进行操作搭建的gitlib,后续有需要搭建局域网内部的代码托管可以在linux下搭建gitlab,参考资料如下:

 gitlab在linux环境下,搭建自己的私服。后续需要可以参考

二 搭建过程 

2.1 使用插件gitblit

2.2 安装搭建

本地搭建自己的git服务器,就是要共享git仓库,需要用到ssh协议(FTP、HTTPS、SFTP等协议也能实现),所以windows下开发搭建git仓库必须做ssh服务器。

 2.2.1 jdk的配置

1.首先下载jdk;

2.安装jdk,并配置jdk的环境变量;

3.并查看jdk是否安装成功,Java -version 能看到版本信息表示安装成功,如下图:

关于jdk的安装配置不再赘述。

 2.2.2 gitblit下载

插件下载地址: Gitblit

 这里使用的是1.8.0,见百度网盘。

 2.2.3 解压安装

 将软件包解压安装到指定目录下,这里新建一个文件夹: dky-gitblit,然后将软件包放到此文件夹下,如下图所示:

进入解压后的目录:

3.2.4 新建一个存储代码资源的文件夹

在E:\dky-gitblit目录下新建一个存储代码资源的文件夹,这里新建一个文件夹为:dky-git-code-respository,如下图所示:

 

3.2.5 修改配置文件

进入到git安装目录的data目录下,修改配置文件defaults.properties文件,这里的路径为:E:\dky-gitblit\gitblit-1.8.0\data,如下图所示:

  1. 修改git.repositoriesFolder(资料存储路径),设置成上一步新建的存储资料的文件夹路径,

这里为:E:\dky-gitblit\dky-git-code-respository,如下图所示:

 

2.修改server,httpPort,httpsPort的端口,自定义相应的端口,如下图:

这里设置:    server.httpPort=8989;    Server.httpsPort=8443;

3.修改服务器ip地址: 找到server.httpBindInterface,进行设置ip的设置,这里就是设定你的服务器的ip地址。本服务器的ip地址为:10.119.65.232

 4.保存文件的修改,关闭文件

注意,在win7系统中,defaults.properteis的后缀名不显示,需要通过设置显示出来后缀名,操作如下图:

 3.2.6 启动方式1:一次回话的启动

在git的安装目录下,找到gitblit.cmd, 双击进行启动,如下图所示:

 

 启动结果:

在地址栏中进行访问:http://10.119.65.232:8989/  ,如下图所示:

3.2.6 启动方式2:后端守护进程启动

第一种方式启动后,相当于一次临时回话,当启动窗口关闭之后,服务就进行了关闭,所以使用第2种方式,后端守护进程方式启动,

  1. git的安装目录下,找到installService.cmd进行编辑,截图如下:

32位系统: SET ARCH=x86;

64位系统: SET ARCH=amd64

  1. 添加CD为程序更目录: SET CD=E:\dky-gitblit\gitblit-1.8.0
  2. 修改StartParams里的启动参数,给空就可以(1.8版本之前版本需要这一步,本次安装使用1.8版本,这一步骤可忽略)

 

4.启动

使用快捷键win+R,在窗口输入cmd,然后cd 进入到E:\dky-gitblit\gitblit-1.8.0,输入命令:

installService.cmd,如下图所示:

5.查看后端进程服务,在服务器的服务管理下,就能看到已经存在的gitblit服务了,如下图所示:

平时使用的时候,保持这个服务是启动状态就可以了。 

 6.再次访问:

有关玩转git第7章 搭建本地私有的git服务器的更多相关文章

  1. ruby - 为什么我可以在 Ruby 中使用 Object#send 访问私有(private)/ protected 方法? - 2

    类classAprivatedeffooputs:fooendpublicdefbarputs:barendprivatedefzimputs:zimendprotecteddefdibputs:dibendendA的实例a=A.new测试a.foorescueputs:faila.barrescueputs:faila.zimrescueputs:faila.dibrescueputs:faila.gazrescueputs:fail测试输出failbarfailfailfail.发送测试[:foo,:bar,:zim,:dib,:gaz].each{|m|a.send(m)resc

  2. ruby - 使用 ruby​​ 和 savon 的 SOAP 服务 - 2

    我正在尝试使用ruby​​和Savon来使用网络服务。测试服务为http://www.webservicex.net/WS/WSDetails.aspx?WSID=9&CATID=2require'rubygems'require'savon'client=Savon::Client.new"http://www.webservicex.net/stockquote.asmx?WSDL"client.get_quotedo|soap|soap.body={:symbol=>"AAPL"}end返回SOAP异常。检查soap信封,在我看来soap请求没有正确的命名空间。任何人都可以建议我

  3. ruby - 具有身份验证的私有(private) Ruby Gem 服务器 - 2

    我想安装一个带有一些身份验证的私有(private)Rubygem服务器。我希望能够使用公共(public)Ubuntu服务器托管内部gem。我读到了http://docs.rubygems.org/read/chapter/18.但是那个没有身份验证-如我所见。然后我读到了https://github.com/cwninja/geminabox.但是当我使用基本身份验证(他们在他们的Wiki中有)时,它会提示从我的服务器获取源。所以。如何制作带有身份验证的私有(private)Rubygem服务器?这是不可能的吗?谢谢。编辑:Geminabox问题。我尝试“捆绑”以安装新的gem..

  4. ruby - 使用 C 扩展开发 ruby​​gem 时,如何使用 Rspec 在本地进行测试? - 2

    我正在编写一个包含C扩展的gem。通常当我写一个gem时,我会遵循TDD的过程,我会写一个失败的规范,然后处理代码直到它通过,等等......在“ext/mygem/mygem.c”中我的C扩展和在gemspec的“扩展”中配置的有效extconf.rb,如何运行我的规范并仍然加载我的C扩展?当我更改C代码时,我需要采取哪些步骤来重新编译代码?这可能是个愚蠢的问题,但是从我的gem的开发源代码树中输入“bundleinstall”不会构建任何native扩展。当我手动运行rubyext/mygem/extconf.rb时,我确实得到了一个Makefile(在整个项目的根目录中),然后当

  5. ruby-on-rails - 启动 Rails 服务器时 ImageMagick 的警告 - 2

    最近,当我启动我的Rails服务器时,我收到了一长串警告。虽然它不影响我的应用程序,但我想知道如何解决这些警告。我的估计是imagemagick以某种方式被调用了两次?当我在警告前后检查我的git日志时。我想知道如何解决这个问题。-bcrypt-ruby(3.1.2)-better_errors(1.0.1)+bcrypt(3.1.7)+bcrypt-ruby(3.1.5)-bcrypt(>=3.1.3)+better_errors(1.1.0)bcrypt和imagemagick有关系吗?/Users/rbchris/.rbenv/versions/2.0.0-p247/lib/ru

  6. ruby-on-rails - s3_direct_upload 在生产服务器中不工作 - 2

    在Rails4.0.2中,我使用s3_direct_upload和aws-sdkgems直接为s3存储桶上传文件。在开发环境中它工作正常,但在生产环境中它会抛出如下错误,ActionView::Template::Error(noimplicitconversionofnilintoString)在View中,create_cv_url,:id=>"s3_uploader",:key=>"cv_uploads/{unique_id}/${filename}",:key_starts_with=>"cv_uploads/",:callback_param=>"cv[direct_uplo

  7. ruby - 是否可以覆盖 gemfile 进行本地开发? - 2

    我们的git存储库中目前有一个Gemfile。但是,有一个gem我只在我的环境中本地使用(我的团队不使用它)。为了使用它,我必须将它添加到我们的Gemfile中,但每次我checkout到我们的master/dev主分支时,由于与跟踪的gemfile冲突,我必须删除它。我想要的是类似Gemfile.local的东西,它将继承从Gemfile导入的gems,但也允许在那里导入新的gems以供使用只有我的机器。此文件将在.gitignore中被忽略。这可能吗? 最佳答案 设置BUNDLE_GEMFILE环境变量:BUNDLE_GEMFI

  8. ruby - 用 Ruby 编写一个简单的网络服务器 - 2

    我想在Ruby中创建一个用于开发目的的极其简单的Web服务器(不,不想使用现成的解决方案)。代码如下:#!/usr/bin/rubyrequire'socket'server=TCPServer.new('127.0.0.1',8080)whileconnection=server.acceptheaders=[]length=0whileline=connection.getsheaders想法是从命令行运行这个脚本,提供另一个脚本,它将在其标准输入上获取请求,并在其标准输出上返回完整的响应。到目前为止一切顺利,但事实证明这真的很脆弱,因为它在第二个请求上中断并出现错误:/usr/b

  9. ruby-on-rails - 在 Rails 中调试生产服务器 - 2

    您如何在Rails中的实时服务器上进行有效调试,无论是在测试版/生产服务器上?我试过直接在服务器上修改文件,然后重启应用,但是修改好像没有生效,或者需要很长时间(缓存?)我也试过在本地做“脚本/服务器生产”,但是那很慢另一种选择是编码和部署,但效率很低。有人对他们如何有效地做到这一点有任何见解吗? 最佳答案 我会回答你的问题,即使我不同意这种热修补服务器代码的方式:)首先,你真的确定你已经重启了服务器吗?您可以通过跟踪日志文件来检查它。您更改的代码显示的View可能会被缓存。缓存页面位于tmp/cache文件夹下。您可以尝试手动删除

  10. git使用常见问题(提交代码,合并冲突) - 2

    文章目录git常用命令(简介,详细参数往下看)Git提交代码步骤gitpullgitstatusgitaddgitcommitgitpushgit代码冲突合并问题方法一:放弃本地代码方法二:合并代码常用命令以及详细参数gitadd将文件添加到仓库:gitdiff比较文件异同gitlog查看历史记录gitreset代码回滚版本库相关操作远程仓库相关操作分支相关操作创建分支查看分支:gitbranch合并分支:gitmerge删除分支:gitbranch-ddev查看分支合并图:gitlog–graph–pretty=oneline–abbrev-commit撤消某次提交git用户名密码相关配置g

随机推荐