如何在windows中部署Gitblit

1.安装Java环境

2.下载Gitblit压缩包

http://gitblit.com/   Current Release 1.9.1 (2020-04-05)

3.解压后进行配置

编辑gitblit-1.8.0\data\gitblit.properties文件

 

git.repositoriesFolder = F:/GitServer    注意目录必须要用“/”而不是“\”。
server.httpPort = 8080
server.httpsPort = 8443

 

4.运行解压目录下的gitblit.cmd

 

5.在浏览器里进行管理

http://localhost:8080/

在浏览器中访问版本库的时候,复制的按钮需要Adobe Flash Player

 

6.导入证书

gitblit-1.8.0\data\certs\ca.cer

可以参考http://blog.csdn.net/xtayfjpk/article/details/45669335  此文章有关于如何生成用户证书以及服务器证书的细节

 

7.扩展:将GitBlit配置为Windows服务

Gitblit uses Apache Commons Daemon to install and configure its Windows service.

  1. Review the contents of the installService.cmd where you may have to change the default keystore password.
  2. Set the ARCH value as appropriate for your installed Java Virtual Machine.
  3. Add any necessary --StartParams as enumerated below in Command-Line Parameters.
  4. Execute the script.

After service installation you can use the gitblitw.exe utility to control and modify the runtime settings of the service.
Additional service definition options and runtime capabilities of gitblitw.exe (prunmgr.exe) are documented here.

涉及到的一个启动参数--StartParams="--storePassword;gitblit;--baseFolder;%CD%\data" ^    只要修改一下密码就可以了

NOTE:
If you change the name of the service from gitblit you must also change the name of gitblitw.exe to match the new service name otherwise the connection between the service and the utility is lost, at least to double-click execution.

 

cmd文件中提到了Procrun

 //IS Install service

 

Command-Line parameters override the values in gitblit.properties at runtime.

--baseFolder           The default base folder for all relative file reference settings
--repositoriesFolder   Git Repositories Folder
--userService          Authentication and Authorization Service (filename or fully qualified classname)
--httpPort             HTTP port for to serve. (port <= 0 will disable this connector)
--httpsPort            HTTPS port to serve.  (port <= 0 will disable this connector)
--sshPort              SSH Daemon port to serve.  (port <= 0 will disable this daemon)
--gitPort              Git Daemon port to serve.  (port <= 0 will disable this daemon)
--alias                Alias in keystore of SSL cert to use for https serving
--storePassword        Password for SSL (https) keystore.
--shutdownPort         Port for Shutdown Monitor to listen on. (port <= 0 will disable this monitor)
--dailyLogFile         Redirect logging to a rolling, daily log file instead of stdout
--tempFolder           Folder for server to extract built-in webapp

Example

java -jar gitblit.jar --userService c:/myrealm.config --storePassword something --baseFolder c:/data

 

服务安装之后还需要另外设置

 

VM Considerations

By default, the service installation script configures your Windows service to use your default JVM. This setup usually defaults to a client VM.
If you have installed a JDK, you might consider using the gitblitw.exe utility to manually specify the server VM.

  1. Execute gitblitw.exe
  2. On the Java tab uncheck Use default.
  3. Manually navigate your filesystem and specify the server VM with the ... button
    Java Virtual Machine:
    C:\Program Files\Java\jre6\bin\server\jvm.dll

 

 

 

服务运行成功之后,假如通过https进行push的话,需要配置证书。

否则会提示fatal: unable to access url: SSL certificate problem: self signed certificate in certificate chain

 

有可能无法启动服务,可以查看日志gitblit-1.8.0\logs

[2017-05-19 17:29:14] [info] Commons Daemon procrun (1.0.10.0 64-bit) started
[2017-05-19 17:29:14] [error] Unable to open the Service Manager
[2017-05-19 17:29:14] [error] Access is denied.
[2017-05-19 17:29:14] [error] Commons Daemon procrun failed with exit value: 8 (Failed to install service)
[2017-05-19 17:29:14] [error] Access is denied.

http://stackoverflow.com/questions/13321132/apache-commons-daemon-procrun-access-is-denied-on-windows-7

Try running your command from a prompt with admin rights.

Right-click on the CMD.exe icon and select "Run as administrator" to start it that way.

用管理员权限打开cmd,然后进入installservice.cmd所在的目录。用命令行打开。【需要注意的是,必须使用这种方法来处理,右键管理员权限运行是不行的】

 

8.配置成可以使用Windows 域账号进行登录

realm.authenticationProviders = windows

 

9.配置邮件

http://gitblit.com/setup_hooks.html 

 

10.push failed for branch (n/a (unpacker error))

git.checkReferencedObjectsAreReachable = false

 

配置汇总

git.repositoriesFolder = D:/GitServerRepository
server.httpPort = 8080
realm.authenticationProviders = windows
federation.allowProposals = true
git.checkReferencedObjectsAreReachable = false

 

=====================================================================

Gitblit介绍

What is Gitblit?

Gitblit is an open-source, pure Java stack for managing, viewing, and serving Git repositories.
It's designed primarily as a tool for small workgroups who want to host centralized repositories.

GO: Single-Stack Solution

Gitblit GO is an integrated, single-stack solution based on Jetty.

You do not need Apache httpd, Perl, Git, or Gitweb. Should you want to use some or all of those, you still can; Gitblit plays nice with the other kids on the block.

This is what you should download if you want to go from zero to Git in less than 5 mins.

WAR: For Your Servlet Container

Gitblit WAR is what you should download if you already have a servlet container available that you wish to use. Jetty 6/7/8 and Tomcat 6/7 are known to work. Generally, any Servlet 2.5 or Servlet 3.0 container should work.

You decide how to use Gitblit

Gitblit can be used as a dumb repository viewer with no administrative controls or user accounts.
Gitblit can be used as a complete Git stack for cloning, pushing, and repository access control.
Gitblit can be used without any other Git tooling (including actual Git) or it can cooperate with your established tools.

All Transports

The SSH, HTTP, & GIT protocols are supported and ready-to-go out of the box.

Issue tracking with branch-based pull requests

Gitblit blends elements of GitHub, BitBucket, and Gerrit to provide a streamlined collaboration workflow based on branches within the primary repository.

 

 

 

 

=============================

Tickets

http://gitblit.com/tickets_setup.html

=================================

Gitblit进行迁移的时候,需要同步用户设置,

git.repositoriesFolder = F:/GitServer
server.httpPort = 8080
server.httpsPort = 8443

 

Any important changes to the setting keys or default values will always be mentioned in the release log.

Gitblit v0.8.0 introduced a new default user service implementation which serializes and deserializes user objects into users.conf.

users.conf file will be automatically created from an existing users.properties file on the first launch after an upgrade.

To use the users.conf service,realm.userService=users.conf must be set.

This revised user service allows for more sophisticated Gitblit user objects and will facilitate the development of more advanced features without adding the complexity of an embedded SQL database.

users.properties and its user service implementation are deprecated as of v0.8.0.

users.properties会在服务器启动的时候,自动转换成users.conf

===============================

 

posted @ 2014-06-25 18:54  ChuckLu  阅读(5023)  评论(0编辑  收藏  举报