Gogs é a maneira mais fácil de executar um servidor Git local (veja como configurá-lo)
Publicados: 2023-01-03Não quer enviar seu código para um repositório Git hospedado? Em seguida, execute seu próprio servidor Git internamente. Gogs é a maneira mais fácil de fazer isso. Veja como configurá-lo.
O problema com repositórios hospedados em nuvem
O que é Gogs?
Como instalar Gogs
Um rápido tour de Gogs
O servidor Git mais fácil - Bar None
O problema com repositórios hospedados em nuvem
Sem dúvida, o Git é o sistema de controle de versão preeminente. Mesmo com projetos de um único desenvolvedor, o Git oferece valor e benefícios devido à sua funcionalidade de controle de versão. Para projetos de vários desenvolvedores, o Git traz outra dimensão inteiramente. Com um repositório central e remoto, o Git permite uma capacidade colaborativa que transformará a maneira como suas equipes de desenvolvimento visualizam o controle de versão.
É por isso que existem serviços como GitHub, GitLab e BitBucket, e por que eles viram tanta aceitação e crescimento. O GitHub sozinho hospeda mais de 200 milhões de repositórios. Mas os repositórios hospedados na nuvem não são adequados para todos. A maioria deles cobra para hospedar repositórios privados. Alguns deles impõem limites de armazenamento, limites de usuários ou limites de transferência de dados em contas gratuitas.
Mesmo que o uso e o tamanho da equipe se enquadrem nas restrições das contas gratuitas, ou mesmo que você esteja disposto a pagar por uma licença comercial, talvez não se sinta à vontade para armazenar sua base de código na nuvem.
A alternativa é hospedar seu próprio servidor Git localmente em sua própria rede ou acessível de forma privada em sua própria nuvem privada. A configuração de um servidor Git que fornece uma interface da Web com a aparência e as opções que o GitHub e seus amigos tornaram tão populares costumava exigir um certo grau de habilidade técnica. É aí que Gogs entra.
O que é Gogs?
Gogs é um projeto relativamente novo, escrito em Go, que oferece uma instância do Git fácil de instalar e com todos os recursos. Não há limites para o tamanho da equipe, armazenamento ou qualquer outra coisa.
Mesmo se você for um programador amador, usar o Gogs como um serviço Git em sua rede local permite que você armazene uma cópia de seu código longe de sua máquina de desenvolvimento. Quando você - ou outra pessoa - quiser trabalhar em um computador novo ou diferente, basta clonar um repositório do seu servidor Gogs da mesma forma que faria no GitHub.
Se você for usar o Gogs com frequência, provavelmente achará conveniente adicioná-lo aos aplicativos de inicialização do computador em que está sendo executado.
RELACIONADO: Como executar um programa Linux na inicialização com systemd
Como instalar Gogs
Para instalar o Gogs, baixe o arquivo apropriado, descompacte-o e execute o binário principal. Você preenche alguns formulários e o Gogs inicializa seu repositório e adiciona você como usuário administrador. Você pode navegar até sua instância do Gogs e adicionar usuários e criar repositórios.
Gogs usa um banco de dados para seu armazenamento de back-end. Suporta MySQL, MariaDB, PostgreSQL e TiDB. Se você quiser usar um desses poderosos mecanismos de banco de dados, deverá localizá-lo e instalá-lo você mesmo, antes de instalar o Gogs. Para equipes menores, você pode usar o SQLite3. Se você optar pelo SQLite3, ele será instalado para você. Claro, você também precisará ter o git
instalado.
Baixe o binário apropriado.
- Para a maioria das distribuições Linux modernas, baixe o arquivo “Linux amd64”.
- Se você estiver usando uma versão de 32 bits do Linux, baixe o arquivo “Linux 386”.
- Se você estiver instalando em um Raspberry Pi 2 ou anterior , baixe o arquivo “Linux armv7”.
- Se você estiver instalando em um Raspberry Pi 3, 3+ ou posterior , baixe o arquivo “Linux armv8”.
- Se você estiver usando um Mac Intel, baixe o arquivo “macOS amd64”.
- Para um Apple Silicon Mac, baixe o arquivo “macOS arm64”.
Baixamos o arquivo ZIP “Linux amd64”, para instalação em um computador de 64 bits com Ubuntu 22.10. O arquivo é pequeno - apenas cerca de 25 MB - portanto, não se surpreenda se o download for muito rápido. Isso é normal.
Localize o arquivo em seu sistema de arquivos. Se você manteve o local de download padrão do seu navegador, o arquivo provavelmente estará no diretório “~/Downloads”. Clique com o botão direito do mouse e selecione "Extrair" no menu de contexto. Alguns navegadores de arquivos podem usar “Extrair aqui”.
Um diretório é extraído do arquivo ZIP. É nomeado após o arquivo baixado. No nosso caso, foi chamado de “gogs_0.11.91_linux_amd64”.
Clique duas vezes no diretório extraído e você verá outro diretório chamado “gogs”.
Clique duas vezes no diretório “gogs”. Você verá os arquivos e diretórios do Gogs. Clique com o botão direito do mouse na janela do navegador de arquivos e selecione “Abrir no Terminal” no menu de contexto.
Para iniciar sua instância do Gogs, digite este comando:
./gogs web
O Gogs é iniciado e informa que está ouvindo na porta 3000.
Conecte-se ao seu servidor Gogs abrindo um navegador da Web e navegando até o endereço IP ou nome de rede do computador em que o Gogs está sendo executado. Adicione “:3000” após o endereço IP ou nome da rede. Não inclua nenhum espaço em branco.
Se estiver navegando no computador em que o Gogs está sendo executado, você pode usar “localhost” como o nome da máquina, como “localhost:3000”. Nosso computador Gogs é chamado de “ubuntu-22-10.local”, portanto, de um computador diferente na mesma rede, o endereço para o qual precisamos navegar é “ubuntu-22-10.local:3000”, incluindo o número da porta.
Na primeira vez que fizer isso, você verá o formulário que captura algumas informações de configuração inicial.
A primeira coisa que precisamos fazer é selecionar “SQLite3” no menu suspenso “Tipo de banco de dados” e inserir seu nome de usuário no campo “Executar usuário”.
Se você deseja configurar notificações por e-mail, precisará configurar algumas etapas extras. Você precisará retransmitir os e-mails por meio de um servidor de e-mail SMTP (Simple Mail Transfer Protocol) que você tem permissão para usar. Se você for um usuário do Gmail do Google, poderá usar o servidor SMTP do Gmail do Google.
Isso exigirá configurações no servidor de e-mail para permitir que sua conta aceite e retransmita o e-mail. Essas configurações variam de servidor de email para servidor de email.
O Gogs exige que você insira as seguintes informações sobre seu servidor de e-mail.
- Host SMTP : O endereço e a porta do servidor de e-mail. Em nosso exemplo, este é o servidor SMTP do Google em smtp.gmail.com:587.
- De : O endereço de e-mail do qual o e-mail será enviado. Para o Gmail, deve ser o endereço de e-mail do Gmail da conta que você está usando.
- E- mail do remetente : Deve ser o mesmo acima. Este é o ID da conta de e-mail que o Gogs usará para falar com o servidor SMTP.
- Senha do remetente : esta não é a senha da conta do Gmail. É a senha específica do aplicativo que você obtém do Google ao configurar sua conta para permitir que um aplicativo envie e-mails em seu nome.
- Ativar confirmação de registro : para que o Gogs verifique os e-mails dos usuários, marque esta caixa de seleção. Novos usuários receberão um e-mail com um link. Eles devem clicar em para provar que o endereço de e-mail é genuíno e está sob seu controle.
- Ativar notificação por e-mail : Marque esta caixa de seleção para permitir notificações por e-mail do Gogs.
Claro, se você não quiser ser incomodado por e-mails, pode pular todas as configurações de e-mail.
Clique no botão azul “Instalar Gogs” quando estiver pronto para prosseguir. Gogs grava um arquivo de configuração, inicializa o armazenamento do banco de dados e inicia sua instância do Git.
Você verá a página principal do Gogs.
A primeira conta de usuário que você criar receberá automaticamente direitos de administrador. Clique no link “Registrar”.
Preencha o formulário “Sign Up” com o nome da sua conta, uma senha para esta conta (digite-a duas vezes) e os dígitos do Captcha. Clique no botão verde "Criar nova conta". Você verá a página "Entrar".
Digite seu nome de conta e senha e clique no botão verde “Entrar”.
Um rápido tour de Gogs
Se você estiver familiarizado com qualquer outra instância do Git acessada pela Web, encontrará o caminho do Gogs com muita facilidade.
A visualização “Painel” do Gogs é um pouco esparsa até que você tenha um repositório para trabalhar. Clique no botão azul “+” e preencha o formulário “Novo repositório”.
Ele pede um nome de repositório, seja privado ou público, e uma descrição.
Os próximos três campos criam arquivos a partir de modelos.
- O menu “.gitignore” permite selecionar um modelo para o seu arquivo “.gitignore” configurado com configurações de acordo com os idiomas selecionados. Você pode fazer mais de uma escolha neste menu, para atender a repositórios que usam uma mistura de tecnologias de desenvolvimento.
- O menu “Licença” permite escolher uma licença em uma lista abrangente.
- O menu “Readme” tem uma única opção, um arquivo “README.md” padrão.
Marque a caixa de seleção “Inicializar este repositório com arquivos e modelos selecionados” e clique no botão verde “Criar repositório”.
Seu novo repositório é exibido para você. Gogs criou nossos três arquivos padrão para nós e os adicionou ao repositório com a mensagem de confirmação “Commit inicial”.
Nós clonamos o repositório em nosso computador, adicionamos um arquivo chamado “ack.c”, o confirmamos e o enviamos para nosso repositório Gogs remoto. Tudo isso foi feito usando comandos padrão do Git.
Como esperado, nosso novo arquivo aparece em nosso repositório Gogs.
Clicar em um arquivo nos mostra o conteúdo do arquivo individual. Os arquivos Markdown são interpretados para você, com títulos, links, listas e todos os outros recursos Markdown. Os arquivos “README.md” geralmente são escritos em Markdown.
Ao clicar no ícone de lápis “Editar”, podemos editar diretamente nosso arquivo “README.md”. Adicionamos mais texto, usamos tags Markdown para inserir hiperlinks e itálicos e confirmamos nossas alterações. Tudo de dentro de Gogs.
De volta à nossa visualização de repositório, nosso arquivo “README.md” atualizado é exibido e a entrada “README.md” na lista de arquivos mostra uma nova mensagem de confirmação e hora de atualização.
O servidor Git mais fácil – Bar None
Gogs é um triunfo absoluto. Combina perfeitamente a funcionalidade com a simplicidade.
Fora da caixa, ele atenderá às necessidades da maioria dos amadores ou pequenas equipes de desenvolvimento. Algumas de suas opções avançadas são ativadas editando o arquivo de configuração que, por padrão, está localizado em “~/Downloads/gogs_0.12.10_linux_amd64/gogs/custom/conf/app.ini.” Observe que o caminho refletirá a versão do Gogs que você está usando.
A administração geral do sistema pode ser realizada no painel de administração, localizado em Your Profile > Admin panel
.
Embora a documentação do Gogs seja breve a ponto de ser concisa, isso significa que é fácil encontrar o que você está procurando e as descrições são detalhadas o suficiente para você seguir.
Se você estiver preocupado com os repositórios hospedados na nuvem que estão sob o controle de outros, considere o uso do Gogs localmente. Você não perderá funcionalidade, mas ganhará controle e privacidade garantida.
RELACIONADO: Como verificar e atualizar sua versão do Git