Gogs
Gogs to manager repozytoriów Git napisany w Go.
Spis treści
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 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.