GitBucket je samostojni sistem sodelovalnega razvoja quPodoben je storitvam, kot sta GitHub ali GitLab, poleg tega ima vmesnik, ki je precej podoben tem. GitBucket je postavljen kot razvojni okvir za sisteme za delo s skladišči Git. Sistem izstopa s preprosto namestitvijo, zmožnostjo razširitve funkcionalnosti z vtičniki in podporo za GitHub API.
GitBucket prihaja z vrsto funkcij obsega ki vključuje podporo za GitLFS, težave, zahtevo za vlečenje, obvestila, sistem vtičnikov, javna in zasebna skladišča Git ter lahko tudi enostavno integrirati z LDAP za upravljanje računov in skupin. Koda GitBucket je napisan v Scali in licenciran pod Apache 2.0.
Od glavnih značilnosti GitBucket izpostavlja naslednje:
- Podpora za javne in zasebne repozitorije Git z dostopom prek HTTP in SSH
- Podpora za GitLFS
- Vmesnik za navigacijo po skladišču s podporo za urejanje datotek v spletu;
- Prisotnost Wikija za pripravo dokumentacije
- Vmesnik za obdelavo sporočil o napakah
- Orodja za obdelavo zahtev za spremembo
- Sistem obveščanja po e-pošti
- Preprost sistem za upravljanje uporabnikov in skupin s podporo za integracijo LDAP
- Sistem vtičnikov z zbirko vtičnikov, ki so ga razvili člani skupnosti.
V obliki vtičnikov so implementirane funkcije, kot so ustvarjanje splošnih opomb, objavljanje obvestil, varnostno kopiranje, prikaz obvestil na namizju, načrtovanje prevzemov, risanje AsciiDoc.
Kako namestiti GitBucket na strežnik Ubuntu, namizje Ubuntu ali izpeljanke?
Kot je bilo omenjeno na začetku, je GitBucket skupni razvojni sistem, ki si ga sami gostimo namestitev tega je namenjena strežnikom, čeprav je tudi možna lahko uresniči namestitev v namizne različice Ubuntu ali kakšen njegov derivat.
Upoštevati morate le, da morate v navodilih namesto namestitve domene uporabljati lokalni IP v domačem omrežju, upoštevati morate tudi dodatno namestitev paketov, potrebnih za zagon spletne storitve (PHP, Apache, neka združljiva baza podatkov) (MySQL ali PostgreSQL) Priporočam vam, da namestite Xampp za Linux ali slavno Lamp.
Za namestitev iz GitBucket, najprej nameščen mora biti paket java v sistemu, zato, če ga nimate, zaženite naslednji ukaz:
sudo apt-get install default-jdk -y
Zdaj ustvarili bomo novo skupino in uporabnika, ki bo lahko zagnal 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
Končano, zdaj bomo prenesli stabilno različico novejša različica 4.33 iz naslednjo povezavo ali s terminala z wgetom:
wget https://github.com/gitbucket/gitbucket/releases/download/4.33.0/gitbucket.war
Ko je prenos končan, GitBucketu bomo morali dodeliti presledek. Za to bomo vnesli naslednji ukaz:
mkdir /opt/gitbucket
Zdaj samo preneseno datoteko moramo premakniti v novo ustvarjeni imenik:
mv gitbucket.war /opt/gitbucket
Zdaj uporabniku moramo dati dovoljenja ki ga ustvarimo, da lahko delate na ustvarjenem imeniku:
chown -R gitbucket:gitbucket /opt/gitbucket
Že s tem, v sistemu bomo ustvarili storitev, za to bomo vtipkali:
sudo nano /etc/systemd/system/gitbucket.service
V datoteko bomo postavili naslednje:
# 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
Shranimo s Ctrl + O in izstopimo s Ctrl + X in vse storitve bomo naložili z:
sudo systemctl daemon-reload
In omogočimo tisto, ki jo ustvarimo z:
sudo systemctl start gitbucket sudo systemctl enable gitbucket
Že z omogočeno in zagnano storitvijo, bazo podatkov moramo povezati:
sudo nano /opt/gitbucket/database.conf db { url = "jdbc:h2:${DatabaseHome};MVCC=true" user = "sa" password = "sa" }
In končano s tem Do storitve je zdaj mogoče dostopati iz vaše domene vnos prostora, dodeljenega http://yourdomain.com:8080 ali v lokalni namestitvi z localhost: 8080
- Uporabnik: root
- Geslo: root
Na koncu je priporočljivo uporabiti obratni proxy, vendar se postopek razlikuje v Nginxu, Apacheju ali Candyju. Lahko preverite dokumentacijo o tem v naslednji povezavi.