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.

Linki Zewnętrzne