Nos dias de hoje, programação e desenvolvimento de software estão em alta. Como resultado, a demanda por programas utilizados nessa área também cresceu muito. Isso criou um ambiente altamente competitivo no mundo digital, onde diferentes programas de codificação e DevOps competem para ser o mais usado em suas respectivas áreas. Git é um desses programas. Combinado com o novo estado normal de trabalho remoto para funções executadas principalmente atrás de uma tela de computador, isso levou muitas pessoas a hospedar seus programas, incluindo Git, em servidores remotos. Se você também se encontra nessa situação e quer instalar seu próprio servidor Git, então você está no lugar certo.
Neste artigo, vou explicar o que exatamente é Git e abordar seus prós e contras, antes de mostrar quais requisitos você precisará e como hospedar seu próprio servidor Git. Vamos lá!
O que é Git?
Git é um programa DevOps projetado para permitir que programadores e desenvolvedores percorram seus projetos e os executem da forma mais eficiente possível. A função mais crucial do Git é rastrear as mudanças no código-fonte ao longo do tempo. Git é gratuito e de código aberto e recebe atualizações regulares. Isso torna Git um dos programas DevOps de codificação mais acessíveis e confiáveis do mundo. Cada computador onde uma instância do Git está localizada funciona como um diretório de repositório completo com seu próprio histórico separado de todas as mudanças de arquivo. Após quase 20 anos de desenvolvimento ativo e mais de 30 atualizações lançadas para Git, o programa atualmente é executado na versão 2.40.0, com mais atualizações futuras pendentes. Agora vamos aprender alguns casos de uso do Git para entender melhor por que queríamos instalar um servidor Git em primeiro lugar.
Casos de Uso do Git
Antes de começar a hospedar seu próprio servidor Git local, vamos entender rapidamente os principais casos de uso do Git para compreender por que você vai executar um servidor Git em primeiro lugar.
Clonando Repositório
Muitos desenvolvedores preferem criar um repositório Git em um servidor para rastrear os programas e arquivos que desejam. Git permite que você replique facilmente seu repositório do kernel Linux atual e use-o para manter um registro de mudanças muito mais coerente e eficiente apenas dos arquivos relevantes. O processo é simples de executar e você pode gerenciar projetos de codificação pequenos e grandes com ele. Esse processo também é conhecido como ramificação, pois você essencialmente cria um novo branch a partir do seu repositório existente.
Fluxo de Trabalho Git
Git Workflow é outro caso de uso importante que você usará depois de configurar seu próprio servidor Git. Você pode usar seu servidor Git local para criar dois conjuntos de branches usando o processo de clonagem, e um deles pode representar seu projeto, por exemplo, um site. Depois, você cria um servidor Git com uma branch de produção separada, onde todas as mudanças feitas por cada desenvolvedor serão registradas e podem até ser testadas antes da implementação. Essa abordagem em múltiplas camadas não apenas aumenta sua eficiência, mas também torna o rastreamento do processo de desenvolvimento e das mudanças incrivelmente fácil.
Fusão
Lembra do branching e do registro de mudanças? Como o nome sugere, Merge é o oposto dessa operação. Em um merge, considerado amplamente como o aspecto mais desafiador do Git, você injeta dados de um node de branch do repositório de volta no repositório principal de onde foi originalmente separado. Isso geralmente é feito para criar um servidor Git com um relatório de projeto abrangente e histórico de mudanças que inclui todas as alterações de diferentes áreas em um repositório conciso e fácil de entender. Enquanto você precisa de branching durante o projeto para evitar confusão, o merge é projetado para reverter a ação e oferecer uma visão mais clara ao final do projeto durante a resolução de problemas.
Hospede seu próprio servidor Git: Prós e contras
Todo programa tem um conjunto de prós e contras importantes que você precisa conhecer se quer começar a usá-lo. Nesta seção, vou discutir os prós e contras conforme se aplicam ao Git. Porém, esses prós e contras só se aplicam ao Git se você o auto-hospedar, que é sobre o que este guia trata, então vamos lá.
Git auto-hospedado: Prós
Sem envolvimento de terceiros
Com Git auto-hospedado, apenas você e as pessoas que você autorizar terão acesso aos seus arquivos. Isso elimina efetivamente qualquer envolvimento indesejado de terceiros e deixa você prosseguir com seu projeto com tranquilidade. Seus dados também serão muito mais seguros e você pode alocar recursos que tinha em mente para segurança em outro lugar.
Segurança
Falando em segurança, Git é tão seguro quanto você conseguir torná-lo através de boas práticas e implementação de ferramentas de terceiros. Embora o nível de segurança diminua ao auto-hospedar em vez de usar um serviço gerenciado, você tem praticamente liberdade ilimitada em como tornar sua operação segura.
Repositórios Ilimitados
Lembra de clonagem e branching? Não há limite para quantos repositórios você pode criar com Git. Isso torna excepcionalmente adequado para projetos maiores onde cada branch de desenvolvimento precisa de seu repositório. Também é excelente para projetos com arquivos grandes como assets 3D e casos em que você trabalha com Unity.
Git auto-hospedado: Contras Desvantagens
Grande volume de esforço gerencial
Repositórios Git podem facilmente sair do controle. Se você decidir configurar um servidor Git em sua própria plataforma auto-hospedada, gerenciar todos os branches e metadados pode rapidamente se tornar uma dor de cabeça. Então você precisa ser incrivelmente preciso com isso ou ter um desenvolvedor experiente fazendo isso para você.
Curva de aprendizado íngreme
Uma coisa é hospedar Git, outra completamente diferente é dominá-lo e executar seu servidor Git local. Git tem uma das maiores curvas de aprendizado entre os programas DevOps baseados em repositório, e novamente você precisa gastar muito tempo aprendendo ou terceirizando isso.
Sem GUI e suporte Windows
Você queria configurar um servidor Git em Windows? Ou talvez quisesse configurar o servidor Git para rodar com uma GUI? Bem, está fora de alcance. Você está limitado a SOs com kernel Linux como código base, e não há GUI para facilitar as coisas. Quer instalar um servidor Git e auto-hospedá-lo? Melhor aprender o básico de codificação.
Método Desatualizado
Por todas as métricas imagináveis, usar Git em um servidor auto-hospedado parece estar desatualizado e superado por outros métodos mais eficientes de executar Git. Os principais exemplos de um processo Git mais eficiente seria executar GitLab, então antes de decidir executar seu próprio servidor Git, confira GitLab também!
Requisitos necessários para instalar um servidor Git
Agora vamos rapidamente rever os requisitos necessários para configurar um servidor Git. Para hospedar Git, você precisa apenas de dois componentes: um servidor e uma instância de Git, além de alguns conhecimentos básicos de codificação para configurar o servidor Git.
Servidor Git
Quanto ao servidor, você pode usar outro PC seu, usar servidores dedicados de provedores tradicionais, ou se preferir uma abordagem mais prática, usar um VPS em nuvem (servidor privado virtual). Com um VPS você pode gerenciar diretamente o servidor e operar a instância do Git ao mesmo tempo. Note que seu servidor precisa ter uma distro Linux para configurar um servidor Git. Cloudzy oferece uma grande variedade de Linux VPS serviços com mais de 10 distros Linux reputadas, como Ubuntu, Debian, CentOS, Kali e OpenSUSE. Começando por apenas $4,95 por mês, você pode obter um servidor Linux confiável perto de sua localização para garantir excelente qualidade de conexão e usá-lo para auto-hospedar e executar um servidor Git!
Pegue um Linux VPS econômico ou premium para hospedar seu site ou desktop remoto, com o preço mais barato disponível. VPS Executando em Linux KVM para maior eficiência e funcionando em hardware poderoso com armazenamento NVMe SSD para maior velocidade.
Ler maisInstância Git
Configurar um servidor Git é simples e faremos isso automaticamente durante a instalação. Git é open-source e gratuito, o que o torna preferível a muitos outros programas de repositório focados em desenvolvimento. Agora que temos o necessário, vamos direto ao nosso guia passo a passo para instalar um servidor Git no seu servidor Linux!
Instalar um Servidor Git no Linux (Guia Passo a Passo)
Passo 1: Baixar e Instalar Git
Primeiro passo da instalação. No terminal da sua distribuição Linux, execute o comando a seguir para baixar o Git:
Distribuições Baseadas em Ubuntu/Debian:
sudo apt install git
Distribuições Baseadas em Arch:
sudo pacman -S git
Distribuições Baseadas em RHEL:
sudo dnf install git
Este comando baixará e instalará Git no seu servidor Linux. Aguarde a conclusão do processo.
Passo 2: Registrar e Configurar o Servidor Git
Se tem um servidor local em outro computador, ligue-o. Caso contrário, use SSH ou RDP para conectar ao seu servidor Linux remotamente. Agora vamos configurar o servidor Git para rodar remotamente. Crie uma conta Git com o seguinte comando:
ssh username@address
sudo useradd git
Depois execute este comando para acessar sua nova conta:
su git
Este passo garante a segurança do seu servidor Git local. Com essa conta, você será o administrador do servidor e poderá organizar futuros usuários em grupos com permissões e níveis de acesso predefinidos.
Passo 3: Criar Diretórios SSH e Criar um Repositório Git no Servidor
O próximo passo é criar um diretório SSH exclusivo para armazenar chaves públicas e criar um repositório Git no servidor com camadas adicionais de segurança e níveis de acesso definidos. Comece executando o comando a seguir:
ssh git@address
mkdir .ssh
chmod 700 .ssh/
touch .ssh/authorized_keys
Após restringir acesso a outros usuários com este comando, execute a próxima linha para garantir que suas chaves SSH sejam armazenadas com segurança em uma authorized_keys pasta, onde apenas você possa acessá-las (execute este comando apenas se você NÃO tiver uma id_rsa.pub arquivo):
cd .ssh
ssh-keygen -t rsa
cat id_rsa.pub
Por fim, copie a chave pública SSH que você criou para configurar uma nova conexão SSH com segurança adicional no seu servidor Git local:
cd .ssh
vi authorized_keys
Passo 4: Criar um Diretório Principal
No seu servidor Linux, crie um novo diretório para armazenar todos os repositórios que seu Git usará em projetos futuros. Você pode aprender sobre gerenciamento de repositórios Git. Execute este comando:
mkdir directory_name
Passo 5: Adicione Seu Projeto!
Você conseguiu criar o servidor Git! A instalação foi concluída com sucesso e o servidor Git está configurado. Agora basta adicionar seus projetos com o seguinte comando:
cd parent_directory
mkdir new_project.git
Depois execute este comando para adicionar a origem remota ao seu computador local:
git init --bare
git remote add origin name git@address:new_project.git
Por fim, execute um git push para verificar se tudo está funcionando como esperado:
touch testfile
git add testfile
git commit -m "test file"
git push name master
git clone git@address:new_project.git
Parabéns, você conseguiu hospedar Git e criar um repositório Git no servidor com sucesso.
Perguntas Frequentes
Posso Hospedar Git Sem um Servidor?
Não. Independentemente da natureza do seu servidor, você vai precisar de hardware para atuar como servidor. Você pode usar GitHub como servidor em nuvem para seus repositórios ou usar nossas VPS ofertas ou usar outro serviço de hospedagem de terceiros para atuar como servidor.
Há Alguma Forma de Instalar um Servidor Git com Interface Gráfica?
Sim. Embora o Git em si não tenha interface gráfica, existe uma versão independente com interface gráfica conhecida como "Git GUI" disponível para quem não consegue viver sem uma interface gráfica.
Git Tem um Plano Pago?
Não. Git foi e sempre será um programa gratuito e de código aberto, conforme refletido pelos seus desenvolvedores e publicadores originais. Então você pode usar o programa como derivado para o desenvolvimento do seu próprio programa, caso contrário, o programa é gratuito.
Por Que Você Deveria Hospedar Seu Próprio Servidor Git?
Digamos que você esteja procurando rodar um projeto pequeno com repositórios limitados. Nesse caso, auto-hospedagem é muito mais privada e segura. Esse é o motivo principal. Mas conforme você passa para projetos maiores com mais repositórios, a auto-hospedagem começa a perder eficiência.