GitBucket to system współpracy na własnym serwerze que przypomina usługi takie jak GitHub czy GitLab, poza tym ma interfejs dość podobny do tych. GitBucket jest pozycjonowany jako platforma programistyczna dla systemów do pracy z repozytoriami Git. System wyróżnia się łatwą instalacją, możliwością rozszerzania funkcjonalności poprzez wtyczki oraz wsparciem dla GitHub API.
GitBucket jest wyposażony w zestaw funkcji lunety który obejmuje obsługę GitLFS, problemy, żądania ściągnięcia, powiadomienia, system wtyczek, publiczne i prywatne repozytoria Git, a także to może być również łatwo zintegrowany z LDAP do zarządzania kontami i grupami. Kod GitBucket jest napisany w Scali i licencjonowany w ramach Apache 2.0.
Z głównych cech GitBucket podkreśla następujące kwestie:
- Obsługa publicznych i prywatnych repozytoriów Git z dostępem przez HTTP i SSH
- Obsługa GitLFS
- Interfejs do nawigacji po repozytorium z obsługą edycji plików online;
- Obecność Wiki do przygotowania dokumentacji
- Interfejs do przetwarzania komunikatów o błędach
- Narzędzia do przetwarzania wniosków o zmianę
- System powiadomień e-mail
- Prosty system zarządzania użytkownikami i grupami z obsługą integracji LDAP
- System wtyczek z kolekcją wtyczek opracowanych przez członków społeczności.
W postaci wtyczek zaimplementowane są takie funkcje jak tworzenie notatek ogólnych, publikowanie ogłoszeń, tworzenie kopii zapasowych, wyświetlanie powiadomień na pulpicie, kreślenie zatwierdzeń, rysowanie AsciiDoc.
Jak zainstalować GitBucket na serwerze Ubuntu, pulpicie Ubuntu lub pochodnych?
Jak wspomniano na początku, GitBucket to wspólny system rozwoju, który jest hostowany na własnym serwerze, więc instalacja tego jest skierowana do serwerów, chociaż jest to również możliwe może sobie uświadomić instalacja w wersjach desktopowych Ubuntu lub jego pochodna.
Musisz tylko wziąć pod uwagę, że w instrukcji zamiast umieszczać domenę musisz użyć lokalnego IP w swojej sieci domowej, musisz też wziąć pod uwagę dodatkową instalację pakietów niezbędnych do uruchomienia usługi internetowej (PHP, Apache, jakaś kompatybilna baza danych (MySQL lub PostgreSQL) Mogę polecić zainstalowanie Xamppa dla Linuksa lub słynnego Lamp.
Żeby zainstalować z GitBucket, najpierw musimy mieć zainstalowany pakiet java w systemie, więc jeśli go nie masz, po prostu uruchom następujące polecenie:
sudo apt-get install default-jdk -y
Teraz mamy zamiar utworzyć nową grupę i użytkownika, aby móc uruchomić GitBucket
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
Zrobiłem to, teraz pobierzemy stabilną wersję bardziej aktualny, czyli wersja 4.33 z Link lub z terminala za pomocą wget:
wget https://github.com/gitbucket/gitbucket/releases/download/4.33.0/gitbucket.war
Po zakończeniu pobierania będziemy musieli przypisać miejsce do GitBucket. W tym celu wpiszemy następujące polecenie:
mkdir /opt/gitbucket
Teraz tylko pobrany plik musimy przenieść do nowo utworzonego katalogu:
mv gitbucket.war /opt/gitbucket
Teraz musimy przyznać uprawnienia użytkownikowi które tworzymy, abyś mógł pracować nad utworzonym katalogiem:
chown -R gitbucket:gitbucket /opt/gitbucket
Już z tym, mamy zamiar stworzyć usługę w systemie w tym celu wpiszemy:
sudo nano /etc/systemd/system/gitbucket.service
W pliku umieścimy:
# 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
Zapisujemy za pomocą Ctrl + O i wychodzimy za pomocą Ctrl + X i mamy zamiar przeładować wszystkie usługi za pomocą:
sudo systemctl daemon-reload
A my umożliwiamy ten, który tworzymy z:
sudo systemctl start gitbucket sudo systemctl enable gitbucket
Już z włączoną i uruchomioną usługą, musimy podłączyć bazę danych:
sudo nano /opt/gitbucket/database.conf db { url = "jdbc:h2:${DatabaseHome};MVCC=true" user = "sa" password = "sa" }
I to już koniec Usługa jest teraz dostępna z Twojej domeny wchodząc w miejsce przydzielone http://twojadomena.com:8080 lub w lokalnej instalacji z localhost: 8080
- Użytkownik: root
- Hasło: root
Na koniec zaleca się zaimplementowanie odwrotnego proxy, ale proces różni się w Nginx, Apache lub Candy. Możesz sprawdzić dokumentację o tym w poniższym linku.