GitBucket, the GitHub-style collaborative development system, reaches its version 4.37

The launch of the new version of GitBucket project 4.37, which is developed as a collaborative system for Git repositories with a GitHub, GitLab or Bitbucket style interface.

GitBucket comes with a set of scope features which includes, GitLFS support, issues, pull request, notifications, plugin system, Git public and private repositories, plus that can also be easily integrated with LDAP for managing accounts and groups. The GitBucket code is written in Scala and licensed under Apache 2.0.

GitBucket 4.37 highlights

In this new version of GitBucket 4.37 it is that the user has the possibility to configure their own URL in settings to access the repository via SSH, which can be used when users accessing GitBucket through SSH is not done directly, but through an additional proxy server that redirects requests from clients.

Another change that stands out in this new version is that added ability to use EDDSA keys to verify digital signatures of confirmations. Support is provided by updating the apaceh-sshd and bouncycastle-java components.

Also It is noted that the restrictions on the maximum size of the password have been modified (the limit has been increased from 20 to 40 characters) and the WebHook URL (from 200 to 400 characters).

We can also find that Web API expanded and Jenkins system integration improved, in addition to additional API calls to work with Git (Git Reference API) and process problem lists, for example, support for data in test versions (milestones) was added and the ability to perform operations for all trouble records at once.

How to install GitBucket on Ubuntu server, Ubuntu desktop or derivatives?

As mentioned at the beginning, GitBucket is a collaborative development system that is self-hosted, so the installation of this is aimed at servers, although it is also possible can realize installation in desktop versions Ubuntu or some derivative of it.

You just have to take into account that in the instructions instead of placing a domain you must use the local IP in your home network, you must also consider the additional installation of packages necessary to launch a web service (PHP, Apache, some compatible database (MySQL or PostgreSQL) I can recommend that you install Xampp for Linux or the famous Lamp.

To install from GitBucket, first we must have the java package installed on the system, so if you don't have it, just run the following command:

sudo apt-get install default-jdk -y

Now we are going to create a new group and a user to be able to run GitBucket GitBucket 4.37,

sudo groupadd -g 555 gitbucketsudo useradd -g gitbucket --no-user-group --home-dir /opt/gitbucket --no-create-home --shell /usr/sbin/nologin --system --uid 555 gitbucket

Done this, now we are going to download the stable version more current since following link or from the terminal with wget:

wget https://github.com/gitbucket/gitbucket/releases/download/4.37.1/gitbucket.war

Once the download is complete, we will have to assign a space to GitBucket. For this we are going to type the following command:

mkdir /opt/gitbucket

Now just we have to move the downloaded file into the newly created directory:

mv gitbucket.war /opt/gitbucket

Now we must give permissions to the user that we create so that it can work on the created directory:

chown -R gitbucket:gitbucket /opt/gitbucket

Already with it, we are going to create a service in the system for this we are going to type:

sudo nano /etc/systemd/system/gitbucket.service

In the file we are going to place the following:

# GitBucket Service
[Unit]
Description=Manage Java service

[Service]
WorkingDirectory=/opt/gitbucket
ExecStart=/usr/bin/java -Xms128m -Xmx256m -jar gitbucket.war
User=gitbucket
Group=gitbucket
Type=simple
Restart=on-failure
RestartSec=10

[Install]
WantedBy=multi-user.target

We save with Ctrl + O and exit with Ctrl + X and we are going to reload all the services with:

sudo systemctl daemon-reload

And we enable the one we create with:

sudo systemctl start gitbucket
sudo systemctl enable gitbucket

Already with the service enabled and started, we must connect the database:

sudo nano /opt/gitbucket/database.conf
db {
url = "jdbc:h2:${DatabaseHome};MVCC=true"
user = "sa"
password = "sa"
}

And done with it The service can now be accessed from your domain entering the space allocated http://yourdomain.com:8080 or in a local installation with localhost: 8080

  • User: root
  • Password:root

Finally it is recommended to implement a reverse proxy, but the process differs in Nginx, Apache or Candy. You can check the documentation about it in the following link.


Leave a Comment

Your email address will not be published. Required fields are marked with *

*

*

  1. Responsible for the data: Miguel Ángel Gatón
  2. Purpose of the data: Control SPAM, comment management.
  3. Legitimation: Your consent
  4. Communication of the data: The data will not be communicated to third parties except by legal obligation.
  5. Data storage: Database hosted by Occentus Networks (EU)
  6. Rights: At any time you can limit, recover and delete your information.