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:
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:
- Podać dane dostępowe do MySQL (bądź PostgreSQL).
- Wypełnić:
- Run User - login do serwera Mydevil,
- Domain - sX.mydevil.net, gdzie X to numer serwra MyDevil,
- Application URL: http://domena/.
- Opcjonalnie podać dane do skonfigurowanej skrzynki pocztowej.
- 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.