Publicado em 2025-08-20
Por Rafael Laboissière
Na seção Git .
Faz tempo que eu desejava instalar uma interface web para os repositórios Git do CEFALA, que se encontram na VM git.cefala.org
. Dentre as inúmeras interfaces disponíveis , acabei optando pelo cgit , que reúne as vantagens de ser leve (escrito em C), eficaz (sem PHP nem JavaScript) e de fácil configuração, além de fornecer (quase) tudo que se espera de uma interface web para o Git.
No caso do CEFALA, apenas a VM www.cefala.org
é accessível via HTTP e HTTPS. Neste caso, é necessário utilizar o mecanismo de proxy do Apache2 para poder acessar o servidor cgit na VM git.cefala.org
. O servidor HTTP/HTTPS virtual está definido na configuração do Apache da VM www.cefala.org
e é acessível pela URL https://cgit.cefala.org .
Por hora, os seguintes repositórios são visíveis na interface cgit:
cefala-cgit : Configuração do servidor cgit (vide abaixo)
apt-debian-pinning : configuração do APT pinning para as diversas distribuições da Debian, descrita num artigo deste blog
git-scripts : Scripts de ajuda para uso do Git na VM git.cefala.org
, descritos num artigo deste Blog
notmyidea-pt : Tradução do tema notmyidea do Pelican em português. Este tema é usado neste Blog.
O servidor cgit está configurado para aceitar um arquivo de descrição README.md
na raiz de cada repositório (exemplo ) e também para colorir sintaticamente os arquivos mostrados (exemplo ).
É possível também clonar os repositórios via HTTP:
$ git clone http://cgit.cefala.org/cgit/cefala-cgit
A configuração deve ser feita tanto na VM www.cefala.org
(servidor Apache) quanto na VM git.cefala.org
(servidor cgit). Ambas configurações são feitas através do projeto cefala-cgit .
Na VM www.cefala.org
:
$ git clone cefala-admin@git.cefala.org:cefala-cgit.git
$ cd cefala-cgit
$ sudo make apache-install
Na VM git.cefala.org
:
$ git clone /var/git/cefala-cgit
$ cd cefala-cgit
$ sudo make cgit-install
Modificações permanentes nos arquivos de configuração devem ser registradas (commit ) e subidas (push ) no repositório centralizado:
$ git add apache cgitrc cgitrepos
$ git commit -m 'Modificação na configuração para [isto] ou [aquilo]'
$ git push
P.S.: Eu nunca sei como traduzir commit e push em português. Algumas pessoas já tentaram fazer isto, ali e acolá .