Gogs
Gogs to manager repozytoriów Git napisany w Go.
Wstępna konfiguracja¶
Do uruchomienia Gogs należy najpierw zadbać o prawidłową konfigurację samej domeny. Przed przystąpieniem do dalszych kroków należy upewnić się, że:
- Zarezerwowano jeden port tcp.
- Domena jest prawidłowo dodana i skonfigurowana w naszym systemie DNS.
- Została dodana Strona WWW z wskazaniem typu Proxy na zarezerwowany wcześniej port.
- Stworzono bazę MySQL bądź PostgreSQL.
- Włączono możliwość korzystania z własnego oprogramowania - Binexec.
- Skonfigurowano skrzynkę pocztową w zarezerwowanej domenie (opcjonalnie).
Instalacja Go¶
Przed instalacją "Gogs" należy zainstalować nową wersję "Go":
wget https://dl.google.com/go/go1.14.2.freebsd-amd64.tar.gz
tar -zxf go1.14.2.freebsd-amd64.tar.gz
mkdir ~/bin
ln -s ~/go/bin/go ~/bin/ && ln -s ~/go/bin/gofmt ~/bin/
echo 'export PATH=$HOME/bin:$PATH' >> $HOME/.bash_profile
source $HOME/.bash_profile
Instalacja Gogs¶
Gogs trzeba zainstalować ze źródeł. Aby to zrobić należy wykonać następujące polecenia:
git clone --depth 1 https://github.com/gogs/gogs.git gogs
cd gogs
go build -o gogs
Pierwsze uruchomienie¶
Serwer należy uruchomić poleceniem nohup ~/gogs/gogs web -p
zarezerwowany`` ``port
&
. Następnie należy uruchomić przeglądarkę
internetową i wejść na wcześniej skonfigurowaną domenę oraz wypełnić
dane instalacyjne w formularzu.
Automatyczne uruchomienie po restarcie¶
Z racji konieczności ręcznego startu gogs, przedstawiamy proces automatyzacji startu w razie restartu serwera hostującego.
Utworzyć w katalogu domowym plik gogscron.sh o treści:
#!/bin/bash
export PATH=$HOME/bin:$PATH
nohup ~/gogs/gogs web -p numer_zarezerwowanego_portu
Ustawić możliwość wykonywania skryptu: chmod +x gogscron.sh
Celem automatycznego startu Gogs po restarcie serwera, należy w tabeli
Cron (uruchomienie edycji z poziomu wiersza poleceń
crontab -e
) linijkę @reboot /home/login/gogscron.sh
Gdzie login to
nazwa loginu konta hostingowego.
Integracja z repozytoriami MyDevil.net¶
Istnieje możliwość korzystania z Gogs z naszymi repozytoriami Git. Wystarczy stworzyć link symboliczny do wybranego repo:
cd /home/
login
/gogs-repositories/
gogs_login
/
rm -r gogs_repo.git
ln -s /home/
login
/repo/git/widoczność_repo/nazwa_repo gos_repo.git
SSH¶
Gogs domyślnie blokuje dostęp SSH do konta hostingowego. Umożliwia on jednak uruchomienie swego własnego wewnętrznego serwera SSH.