Não tenho muita certeza do que você está perguntando. Você diz que deseja hospedar em seu próprio servidor, mas sua pergunta diz que deseja hospedar como páginas do gitlab, que não é seu próprio servidor.
De qualquer forma, talvez isso ajude
Isto é o que eu faço
no pc local
mkdir folderforwebsite
cd folderforwebsite
git init
echo "hello world" > index.html
git add index.html
git commit -m "initial commit"
Agora tenho um repo localmente. Copie-o para o servidor
scp -r ../folderforwebsite username@mydomain.com:/path/from/root/to/webfolder
Agora eu tenho no servidor remoto.
ssh name@mydomain.com 'cd path/to/webfolder; git checkout -b live`
Agora há um ramo mestre e ao vivo no site. Faço isso desde AFAICT, você não pode enviar para o ramo atual. Portanto, agora temos uma ramificação "ativa", atual no controle remoto, e uma ramificação "principal", que não é
Por fim, adicione um controle remoto ao meu repositório local
git remote add web ssh://name@mydomain.com/path/from/root/to/webfolder
Agora, sempre que eu quiser atualizar o site, verifico as coisas no meu ramo principal local e, em seguida, corro esse script
#!/bin/sh
set -e
set -v
git push web master
ssh username@mydomain.com git merge --ff-only master
O git push
empurra minhas alterações no ramo não-corrente no servidor web. Em ssh
seguida, efetua login no servidor da web e avança rapidamente as alterações em "master" para a ramificação atual. Nesse caso, a ramificação "ao vivo".
--ff-only
diz falhar se houver alterações no servidor.
Se houver alterações no servidor, posso trazê-las para o meu mestre local com
git pull web live
Em mais coisas. Antes de fazer isso, configuro as chaves SSH no servidor remoto para não precisar digitar senhas
Isso não tem absolutamente nenhuma conexão com o github ou o gitlab. Também posso enviar minhas alterações para lá, mas elas não estão conectadas.