Gogs – Um sistema versátil para hospedagem de repositórios git

Logotipo do GogsComo apresentado no post “Onde (e como) hospedar meus repositórios git?”,  existem várias formas de hospedar seu repositório Git, desde serviços online à opções que você instala em seu servidor e começa a usar de maneira simples e prática. Hoje, vou falar mais um pouco sobre o Gogs, uma opção de hospedagem de repositórios Git fácil de instalar e usar que você pode instalar em seu servidor e usar sem limitações, seguido de um tutorial para começar seu uso facilmente. Bora? 🙂

Primeiro, vamos apresentar alguns dos recursos que o Gogs disponibiliza de primeira para nós:

  • Instalação fácil – Basta colocar um binário em algum lugar, executá-lo e configurá-lo pelo painel web para conectar a algum SGBD;
  • Criação de repositórios – Você consegue criar repositórios facilmente com arquivos pré-prontos se assim preferir, como arquivos .gitignore (para ignorar arquivos compilados) e de licença do projeto;
  • Wiki – O Gogs provê um espaço de wiki para cada repositório ,para hospedar documentação;
  • Issues – Para cada repositório, é fornecido um espaço para registrar e acompanhar os variados problemas encontrados no repositório;
  • Organizações – Você pode agrupar repositórios em uma organização e assim permitir acesso de equipes a apenas determinados repositórios;
  • Leve – Feito em Go, o Gogs é muito leve e eficiente, aproveitando ao máximo todos os recursos que lhe são fornecidos, podendo rodar inclusive em um Raspberry Pi;
  • Multi-plataforma – Você usa servidores Windows? Não tem problema, o Gogs roda em Linux, Windows e Mac;
  • Suporte a repositórios espelho – Você quer apenas clonar um repositório de outro local, apenas para ter como cache na rede local? Tranquilo! O Gogs suporta importar repositórios de outros lugares e atualizá-los de tempos em tempos, automaticamente;
  • Pull Requests – Prefere fazer code review antes de fazer o merge de uma branch? Fácil! você pode usar o sistema de pull requests que o Gogs implementa para fazer isso;
  • API – Se você curte explorar APIs, vai curtir também saber que o Gogs fornece uma API REST no qual você pode brincar bastante com seus variados recursos, automatizando um bocado do trabalho, por exemplo;
  • Integração – O Gogs fornece integração com alguns projetos facilmente, como o Taiga.io, por exemplo, facilitando e muito o seu workflow;

Entre muitos outros recursos que outros sistemas de hospedagem de repositórios também costumam ter. Entretanto, na minha opinião, os que mais me atraem são o fato de ser leve e fácil de instalar, pois isso é bastante importante pra quando se tem um bocadinho de aplicações rodando no servidor, e instalar linguagens, bancos de dados e tudo o mais para ter um servidor do tipo apenas para atender uma pessoa (no caso eu) me parece meio…desnecessário.

Por fim, vamos a um tutorial de instalação e uso básico?

Tutorial básico de uso do Gogs

1) Há duas opções FÁCEIS para instalação do Gogs, sendo que a segunda opção, usando Docker, é a mais recomendada dado a facilidade de uso:

1.1) Você pode baixar o Gogs para seu sistema operacional e arquitetura através da página de releases do projeto no Github;

1.2) Você pode usar o Docker para fazer o download do Gogs, usando o comando docker pull gogs/gogs (recomendado);

2) Depois de baixado, você pode:

2.1) Se tiver baixado diretamente da página de releases do projeto no Github, descompacte o arquivo e, através do terminal, execute o binário encontrado na pasta descompactada usando “./gogs web –port=10080″;

2.2) Se tiver usado o Docker, você pode usar o comando “docker run -d --name=gogs -p 10022:22 -p 10080:3000 -v /var/gogs:/data gogs/gogs“. Veja:

3) Com o Gogs executando, acesse o endereço http://127.0.0.1:10080/ e você verá que o Gogs está executando na sua máquina, como esperado, vendo a tela abaixo:

Tela de instalação do Gogs

 

4) Com o painel do Gogs plenamente acessível, vamos alterar a opção do “Tipo de Banco de Dados” para “SQLite“, pois, dessa forma, a instalação deve ser mais simples e mais tranquila ,e já garante o funcionamento do sistema para nossos testes.

Se você fez o download do arquivo pela página do Github, nesse passo você precisa instalar um servidor SSH e, opcionalmente, criar um usuário git para que seja possível obter uma URL mais amigável e menos associada ao usuário do seu servidor.

No caso de você ter usado o Docker, nenhum desses procedimentos de instalação de servidor SSH e criação de usuário git é necessário pois isso já vem prontinho para você. Mas, você precisa mudar o endereço do campo “URL do Aplicativo” de “http://localhost:3000/” para “http://127.0.0.1:10080/” e o campo “Porta do SSH” de “22” para “10022“.

Com isso, basta ir até o fim da página e clicar em “Instalar Gogs” para proceder com a instalação.

5) Com o Gogs instalado, precisamos criar uma conta de usuário, que será assumida automaticamente pelo Gogs como sendo uma conta de administrador. Para isso, acesse “http://127.0.0.1:10080/user/sign_up” e preencha com um nome de usuário,  e-mail, senha, confirmação de senha e preencha o captcha correspondente.

6) Após o cadastro, o Gogs vai te mandar para a página de login. Preencha com as mesmas informações preenchidas na tela anterior. Após o login, o Gogs deve te redirecionar para a página de dashboard, vista abaixo:

Dashboard do Gogs

7) Agora, vamos criar um repositório? Para isso, simplesmente clique no botão “+” encontrado ao lado do titulo “Meus repositórios“. Você deve ser mandado para essa página:

Página para criação de novo repositório no Gogs

7) Agora, preencha o nome do repositório como “tutorial-git-basico” e clique em “Criar repositório“.

8) Agora, o Gogs deve te mostrar a seguinte página:

Página de repositório vazio do Gogs

Simplesmente clique no botão HTTP (pois isso facilita um pouco o uso num primeiro contato) e execute os comandos mostrados no bloco “Criar um novo repositório na linha de comando” em uma pasta chamada “tutorial-git-basico” e veja a “mágica acontecer”. Veja o procedimento abaixo:

9) Atualize a página do repositório aberta no navegador e constate que o sistema deve mostrar algo similar ao que está localizado no screenshot abaixo:

Página de repositório do Gogs listando o arquivo README

Com isso, você já deve ter percebido que o Gogs é realmente bem fácil de usar e de instalar, e que integrá-lo com o Git é tão fácil quanto o uso com qualquer outro sistema de hospedagem de repositórios Git.

Como sempre, espero que tenham curtido o tutorial e que deixem um comentário com sua crítica, opinião ou sugestão a respeito dessa excelente ferramenta. O que você achou? Curtiu? Vai passar a usar a ferramenta? Manda aí sua opinião! 🙂

Por fim, fica o link para caso você queira acompanhar os próximos posts do blog (1 post por dia, de segunda a sexta, sempre sobre desenvolvimento, esse é o objetivo).

Ah, e fica os links relacionados à ferramenta:

Até a próxima!

Gostou do conteúdo desse post? Apoie o blog contribuindo a partir de R$1/mês através da nossa página no Apoia.se! Isso me ajudará a manter o blog no ar, além de trazer mais coisas legais para vocês! Obrigado desde já! 😀