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

Gogs trzeba zainstalować ze źródeł. Aby to zrobić należy wykonać następujące polecenia:

mkdir -p ~/go
echo 'export GOPATH=$HOME/go' >> $HOME/.bash_profile
echo 'export PATH=$PATH:$GOPATH/bin' >> $HOME/.bash_profile
source $HOME/.bash_profile
go get -u github.com/gogs/gogs
cd $GOPATH/src/github.com/gogs/gogs
go build

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ę. Po tym należy:

  1. Podać dane dostępowe do MySQL (bądź PostgreSQL).
  2. Wypełnić:
    • Run User - login do serwera Mydevil,
    • Domain - sX.mydevil.net, gdzie X to numer serwra MyDevil,
    • Application URL: http://domena/.
  3. Opcjonalnie podać dane do skonfigurowanej skrzynki pocztowej.
  4. Podać dane dla konta administratora (nazwą konta nie może być admin).

Po wypełnieniu pól należy kliknąć Install Gogs.

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 GOPATH=$HOME/go
export PATH=$PATH:$GOPATH/bin
cd $GOPATH/src/github.com/gogs/gogs
nohup ./gogs web -p numer_zarezerwowanego_portu

Ustawić możliwość wykoywania 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

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