GitBucket è una piattaforma Git gratuita e open source basata su Scala con compatibilità API Github. È semplice, leggero e alternativo a Github o BitBucket. Viene fornito con un set di funzionalità tra cui supporto per GitLFS, problemi, richieste pull, notifiche, sistema di plug-in, repository Git pubblici e privati. Può essere facilmente integrato con LDAP per la gestione di account e gruppi.
In questo tutorial impareremo come installare e configurare GitBucket sul server Ubuntu 18.04.
Requisiti
- Un nuovo server con Ubuntu 18.04.
- Sulla tua istanza è configurata una password di root.
Per iniziare
Prima di iniziare, aggiorna il tuo sistema con l'ultima versione stabile. Puoi farlo con il seguente comando:
apt-get update -y
apt-get upgrade -y
Una volta aggiornato, riavvia il server per applicare tutte le modifiche alla configurazione.
Installa Java
GitBucket richiede Java 8 o versioni successive per essere installato sul tuo server. Quindi, dovrai installare Java sul tuo server.
Per installare Java eseguire il seguente comando:
apt-get install default-jdk -y
Una volta installato Java, puoi verificare la versione di Java utilizzando il seguente comando:
java -version
Dovresti vedere il seguente output:
openjdk version "10.0.2" 2018-07-17 OpenJDK Runtime Environment (build 10.0.2+13-Ubuntu-1ubuntu0.18.04.2) OpenJDK 64-Bit Server VM (build 10.0.2+13-Ubuntu-1ubuntu0.18.04.2, mixed mode)
Una volta terminato, puoi procedere al passaggio successivo.
Installa GitBucket
Prima di installare GitBucket, dovrai creare un utente senza privilegi per eseguire GitBucket.
Esegui il comando seguente per creare un utente di sistema chiamato gitbucket.
groupadd -g 555 gitbucket
useradd -g gitbucket --no-user-group --home-dir /opt/gitbucket --no-create-home --shell /usr/sbin/nologin --system --uid 555 gitbucket
Quindi, scarica GitBucket dal repository Git con il seguente comando:
wget https://github.com/gitbucket/gitbucket/releases/download/4.31.2/gitbucket.war
Una volta completato il download, crea una directory per GitBucket all'interno di /opt
mkdir /opt/gitbucket
Quindi, sposta il file scaricato nella directory gitbucket:
mv gitbucket.war /opt/gitbucket
Quindi, dai il permesso appropriato alla directory gitbucket con il seguente comando:
chown -R gitbucket:gitbucket /opt/gitbucket
Una volta terminato, puoi procedere al passaggio successivo.
Crea file di servizio Systemd per GitBucket
Successivamente, dovrai creare un file di servizio Systemd per GitBucket per gestire il servizio GitBucket. Puoi crearlo con il seguente comando:
nano /etc/systemd/system/gitbucket.service
Aggiungi le seguenti righe:
# 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
Salva e chiudi il file. Quindi, ricarica Systemd con il seguente comando:
systemctl daemon-reload
Quindi, avvia il servizio gitbucket e abilitalo all'avvio all'avvio con il seguente comando:
systemctl enable gitbucket
systemctl start gitbucket
Ora puoi controllare lo stato di gitbucket con il seguente comando:
systemctl status gitbucket
Dovresti vedere il seguente output:
? gitbucket.service - Manage Java service Loaded: loaded (/etc/systemd/system/gitbucket.service; disabled; vendor preset: enabled) Active: active (running) since Tue 2019-08-09 09:43:42 UTC; 5s ago Main PID: 17835 (java) Tasks: 18 (limit: 1113) CGroup: /system.slice/gitbucket.service ??17835 /usr/bin/java -Xms128m -Xmx256m -jar gitbucket.war Aug 09 09:43:42 ubuntu1804 systemd[1]: Started Manage Java service. Aug 09 09:43:45 ubuntu1804 java[17835]: 2019-07-09 09:43:45.102:INFO::main: Logging initialized @2700ms to org.eclipse.jetty.util.log.StdErrLog Aug 09 09:43:46 ubuntu1804 java[17835]: 2019-07-09 09:43:46.134:INFO:oejs.Server:main: jetty-9.4.z-SNAPSHOT; built: 2018-11-14T21:20:31.478Z; g lines 1-11/11 (END)
Una volta terminato, puoi procedere al passaggio successivo.
Configura connessione al database per GitBucket
GitBucket viene fornito con un database H2 incorporato. Per configurare la connessione al database, apri il file database.conf con il tuo editor di testo preferito:
nano /opt/gitbucket/database.conf
Aggiungi le seguenti righe:
db { url = "jdbc:h2:${DatabaseHome};MVCC=true" user = "sa" password = "sa" }
Una volta terminato, puoi procedere al passaggio successivo.
Configura Nginx come proxy inverso
Per impostazione predefinita, GitBucket viene eseguito sulla porta 8080. Pertanto, dovrai configurare Nginx come proxy inverso per migliorare le prestazioni e abilitare altre funzionalità come la crittografia HTTP/2 e TLS.
Per farlo, prima installa Nginx con il seguente comando:
apt-get install nginx -y
Quindi, crea un proxy inverso per GitBucket creando il seguente file:
nano /etc/nginx/sites-available/gitbucket.conf
Aggiungi le seguenti righe:
upstream gitbucket { server 127.0.0.1:8080 weight=100 max_fails=5 fail_timeout=5; } server { listen 80; server_name your-domain.com; location / { proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Server $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://gitbucket/; } }
Salva e chiudi il file. Quindi, abilita l'host virtuale Nginx usando il seguente comando:
ln -s /etc/nginx/sites-available/gitbucket.conf /etc/nginx/sites-enabled/
Quindi, controlla Nginx per eventuali errori di sintassi e riavvia il servizio Nginx con il seguente comando:
nginx -t
Dovresti vedere il seguente output:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
systemctl restart nginx
Una volta terminato, puoi procedere al passaggio successivo.
Accedi all'interfaccia web di GitBucket
GitBucket è ora installato e configurato. Apri il tuo browser web e digita l'URL http://tuo-dominio.com. Verrai reindirizzato alla seguente pagina:
Ora, fai clic su Accedi pulsante. Verrai reindirizzato alla pagina di accesso come mostrato di seguito:
Ora, fornisci il nome utente e la password predefiniti come root / root e fai clic su Accedi pulsante. Dovresti vedere la dashboard di GitBucket nella pagina seguente:
Quindi, vai a Impostazioni account per modificare la password di root predefinita come mostrato nella pagina seguente:
Congratulazioni! hai installato e configurato correttamente GitBucket sul server Ubuntu 18.04 LTS. Sentiti libero di chiedermi se hai domande.