WEB-INF/users.properties
file to a location outside the webapps folder but accessible by your servlet container.web.xml
file.web.xml
in your favorite text editor and make sure to review and set:
users.properties
)gitblit.properties
in your favorite text editor and make sure to review and set:
gitblit.cmd
or java -jar gitblit.jar
from a command-lineGitblit GO automatically generates an ssl certificate for you that contains generic, non-personalized information.
Should you want to include more personal or server-specific information in your self-signed certificate you will have to generate a new one.
Review the contents of the makekeystore.cmd
or makekeystore_jdk.cmd
script and execute it.
NOTE: If you manually generate an ssl certificate, the certificate password AND the keystore password must match!
Review the contents of the installService.cmd
or installService64.cmd
, as appropriate for your installed Java Virtual Machine.
Set the JVM variable in the script to the location of your Java Virtual Machine, add any necessary start parameters, and execute the script.
Command-Line parameters override the values in gitblit.properties
at runtime.
--repositoriesFolder Git Repositories Folder
--userService Authentication and Authorization Service (filename or fully qualified classname)
--useNio Use NIO Connector else use Socket Connector.
--httpPort HTTP port for to serve. (port <= 0 will disable this connector)
--httpsPort HTTPS port to serve. (port <= 0 will disable this connector)
--storePassword Password for SSL (https) keystore.
--shutdownPort Port for Shutdown Monitor to listen on. (port <= 0 will disable this monitor)
--tempFolder Folder for server to extract built-in webapp
Example
java -jar gitblit.jar --userService c:\myrealm.properties --storePassword something
Repositories can be created, edited, renamed, and deleted through the web UI. They may also be created, edited, and deleted from the command-line using real Git or your favorite file manager and text editor.
All repository settings are stored within the repository .git/config
file under the gitblit section.
[gitblit]
description = master repository
owner = james
useTickets = false
useDocs = true
showRemoteBranches = false
accessRestriction = clone
isFrozen = false
showReadme = false
Repository names must be unique and are CASE-SENSITIVE ON CASE-SENSITIVE FILESYSTEMS. The name must be composed of letters, digits, or / _ - .
Whitespace is illegal.
Repositories can be grouped within subfolders. e.g. libraries/mycoollib.git and libraries/myotherlib.git
All repositories created with Gitblit are bare and will automatically have .git appended to the name at creation time, if not already specified.
The Repository Owner has the special permission of being able to edit a repository through the web UI. The Repository Owner is not permitted to rename the repository, delete the repository, or reassign ownership to another user.
All users are stored in the users.properties
file or in the file you specified in gitblit.properties
.
The format of users.properties
follows Jetty's convention for HashRealms:
username,password,role1,role2,role3...
Usernames must be unique and are case-insensitive.
Whitespace is illegal.
User passwords are CASE-SENSITIVE and may be plain or md5 formatted (see gitblit.properties
-> realm.passwordStorage).
There is only one actual role in Gitblit and that is #admin which grants administrative powers to that user. Administrators automatically have access to all repositories. All other roles are repository names. If a repository is access-restricted, the user must have the repository's name within his/her roles to bypass the access restriction. This is how users are granted access to a restricted repository.
Instead of maintaining a users.properties
file, you may want to integrate Gitblit into an existing environment.
You may use your own custom com.gitblit.IUserService implementation by specifying its fully qualified classname in the realm.userService setting.
Your user service class must be on Gitblit's classpath and must have a public default constructor.
You must tell Git not to verify the self-signed certificate in order to perform any remote Git operations.
Key = *http.sslVerify* Value = *false*
git config --global --bool --add http.sslVerify false
https://yourserver/git/your/repository
https://username@yourserver/git/your/repository