Atualmente, os programas de codificação e desenvolvimento de software estão em alta. Como tal, a procura por programas utilizados neste campo também está em alta. Isto causou a criação de um ambiente altamente competitivo no mundo online, onde diferentes programas de codificação e DevOps competem para ganhar o prémio do programa mais utilizado nas suas respectivas áreas. Git é um desses programas. Juntamente com o novo estado normal de trabalho remoto para trabalhos realizados principalmente atrás de uma tela de computador, isso fez com que muitas pessoas hospedassem seus programas, incluindo o Git, em servidores remotos. Se você também se encontra nesta categoria e deseja instalar seu próprio servidor Git, não procure mais.
Neste artigo, examinarei o que exatamente é o Git e cobrirei seus prós e contras, antes de mostrar quais requisitos você precisará e hospedar seu próprio servidor Git. Vamos!
O que é Git?
Git é um programa DevOps projetado para permitir que codificadores e programadores executem seus projetos da maneira mais eficiente possível. A função mais importante 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 o Git um dos programas DevOps de codificação mais facilmente acessíveis e confiáveis do mundo. Cada computador onde uma instância do Git está localizada atua como um diretório de repositório completo com seu próprio histórico separado de todas as alterações de arquivo. Após quase 20 anos de desenvolvimento ativo e mais de 30 atualizações lançadas para Git, o programa atualmente roda 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 gostaríamos de instalar o servidor Git em primeiro lugar.
Casos de uso do Git
Antes de avançar muito rapidamente para hospedar seu próprio servidor Git local, vamos nos familiarizar rapidamente com os principais casos de uso do Git para entender por que iremos executar um servidor Git em primeiro lugar.
Repositório de clonagem
Muitos desenvolvedores e programadores preferem criar um repositório Git no servidor para rastrear os programas e arquivos que desejam. O Git pode facilmente e, por meio de alguns comandos básicos, permitir que você replique seu repositório atual do kernel Linux e use-o para coletar um log de alterações muito mais coerente e eficiente apenas dos arquivos nos quais você está interessado. Este processo também é conhecido como “ramificação”, já que, em essência, você cria um novo branch a partir de seu repositório já 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 local Git para criar dois conjuntos de ramificações usando o processo de clonagem e fazer com que um deles seja representativo do seu projeto, por exemplo, um site. Então você pode criar um servidor Git com uma ramificação de produção separada onde todas as alterações feitas por cada desenvolvedor serão registradas e podem até ser testadas antes da implementação. Essa abordagem multicamadas para desenvolvimento e teste não apenas aumenta sua eficiência, mas também torna o rastreamento do processo de desenvolvimento e das alterações incrivelmente fácil.
Mesclando
Lembra de ramificar seu repositório e log de alterações? Como o nome sugere, Merging é o oposto dessa operação. Na fusão, que é amplamente considerada o aspecto mais desafiador do Git, procuramos injetar os dados de um nó de ramificação do repositório de volta no repositório mestre do qual foi originalmente dividido. Isso geralmente é feito para criar um servidor Git com um relatório de projeto abrangente e um histórico de alterações que inclui todas as alterações do projeto de diferentes áreas em um repositório conciso e fácil de decifrar. Embora durante o projeto você precise de ramificação para evitar confusão, a fusão foi projetada para reverter a ação e fornecer uma visão geral mais clara no final do projeto durante a solução de problemas.
Hospede seu próprio servidor Git: prós e contras
Cada programa tem um conjunto de prós e contras cruciais que são essenciais para os usuários que desejam entrar no programa e usá-lo em seus programas. Nesta seção, discutirei os prós e os contras aplicáveis ao Git. No entanto, esses prós e contras só se aplicam ao Git se você o hospedar por conta própria, que é mais ou menos o assunto deste guia, então vamos ao que interessa.
Git auto-hospedado: prós
Sem envolvimento de terceiros
Com o Git auto-hospedado, você e as pessoas que você vê serão as únicas pessoas com meios para acessar seus arquivos. Isso essencialmente elimina qualquer envolvimento indesejado de terceiros e permite que você execute seu projeto com tranquilidade. Seus dados também ficarão muito mais seguros e você poderá alocar os recursos que tinha em mente para segurança em outro lugar.
Segurança
Falando em segurança, o Git é o mais seguro possível por meio de práticas recomendadas e da implementação de ferramentas de terceiros. Embora o nível de segurança caia à medida que você se hospeda em vez de usá-lo, há uma liberdade quase ilimitada em quão seguro você pode tornar sua própria operação.
Repositórios Ilimitados
Lembra da clonagem e ramificação? Não há limite de quantos repositórios você pode criar com o Git. Isso o torna incrivelmente adequado para projetos maiores, onde cada ramo de desenvolvimento precisa de seu repositório. Isso também é excelente para projetos com arquivos grandes, como ativos 3D e casos em que você trabalha com Unity.
Git auto-hospedado: Contras
Grandes quantidades de esforço de gerenciamento
Os repositórios Git podem sair rapidamente do controle Se você decidir configurar um servidor Git em sua própria plataforma auto-hospedada, gerenciar todas as ramificações e metadados poderá logo se tornar uma dor de cabeça. Portanto, você precisa ser incrivelmente preciso ou contratar algum programador qualificado para fazer isso por você.
Curva de aprendizado aproximada
Uma coisa é hospedar o Git, mas dominá-lo e executar seu servidor local Git é outra bem diferente. O Git sem dúvida tem um dos limites de habilidade mais altos de qualquer programa DevOps baseado em repositório e, novamente, você precisa gastar muito tempo aprendendo-o ou terceirizando-o.
Sem GUI e suporte para Windows
Você queria configurar um servidor Git no Windows? Ou talvez você queira configurar o servidor Git para rodar com uma GUI? Bem, você está sem sorte. Você está limitado a sistemas operacionais com kernel Linux como código base e não há GUI para ajudá-lo a tornar as coisas mais fáceis. Você deseja instalar um servidor Git e auto-hospedar? Aprenda melhor os fundamentos da codificação.
Método desatualizado
Por todas as métricas imagináveis, usar um Git em um servidor auto-hospedado parece estar desatualizado e superado por outros métodos mais eficientes de execução do Git. Os principais exemplos de um processo de execução Git mais eficiente seriam executar o GitLab, portanto, antes de decidir executar seu próprio servidor Git, verifique GitLab também!
Requisitos necessários para instalar um servidor Git
Agora vamos examinar rapidamente os requisitos necessários para configurar um servidor Git e hospedar seu próprio servidor Git. Para hospedar o Git, você precisa de apenas dois componentes, um servidor e uma instância do Git, com um pouco de conhecimento de codificação para executar o processo de configuração do servidor Git.
Servidor Git
Quanto ao servidor, você pode usar outro PC, usar servidores dedicados de provedores tradicionais ou, se preferir uma abordagem mais prática, usar um nuvem VPS (servidor virtual privado). Ao ter um VPS, você pode gerenciar diretamente o servidor e operar a instância Git ao mesmo tempo. Observe que seu servidor precisa ter uma distribuição Linux para configurar um servidor Git. Cloudzy oferece uma ampla variedade de VPS Linux serviços com mais de 10 distros Linux respeitáveis, como Ubuntu, Debian, CentOS, Kali e OpenSUSE. A partir de apenas US$ 4,95 por mês, você pode obter um servidor Linux confiável perto de sua localização para garantir uma ótima qualidade de conexão e usá-lo para auto-hospedar e executar um servidor Git!
Obtenha um VPS Linux econômico ou premium para hospedar seu site ou desktop remoto, pelo preço mais barato do mercado. VPS rodando em Linux KVM para maior eficiência e trabalhando em hardware poderoso com armazenamento SSD NVMe para maior velocidade.
Leia maisInstância Git
O processo de configuração de um servidor Git é fácil e faremos isso automaticamente como parte do processo de instalação. Como mencionado, o Git é de código aberto e não custa dinheiro. Isso é o que torna o Git preferível a muitos outros programas baseados em repositórios com foco em codificação e desenvolvimento. Agora que temos os requisitos, vamos direto ao nosso guia passo a passo para instalar um servidor Git em seu servidor Linux!
Instale um servidor Git no Linux (guia passo a passo)
Etapa 1: Baixe e instale o Git
Esta é a primeira etapa do processo de instalação do servidor Git. No terminal da distribuição Linux de sua preferência, digite o seguinte comando para iniciar o download do 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 irá baixar e instalar o Git em seu servidor Linux. Aguarde o processo terminar.
Etapa 2: registrar e configurar o servidor Git
Se você tiver um servidor local em outro desktop, inicialize-o; caso contrário, se você tiver um VPS, use SSH ou RDP para conectar-se remotamente ao seu servidor Linux. Agora vamos configurar o servidor Git para rodar remotamente. Faremos isso criando uma conta Git usando o seguinte comando:
ssh username@address
sudo useradd git
Em seguida, digite este comando para mudar para sua conta recém-criada:
su git
Esta etapa é realizada principalmente para garantir a segurança do seu servidor local Git. Usando esta conta, você será o administrador do servidor. Você pode organizar com segurança futuros usuários em potencial em grupos de usuários com limitações e níveis de acesso predefinidos.
Etapa 3: Crie diretórios SSH e Crie um repositório git no servidor
A próxima etapa no processo de instalação do servidor Git é criar um diretório SSH exclusivo para salvar nossos chaves públicas e crie um repositório Git no servidor com camadas adicionais de segurança e níveis de acesso definidos para você. Comece digitando o seguinte comando:
ssh git@address
mkdir .ssh
chmod 700 .ssh/
touch .ssh/authorized_keys
Depois de restringir o acesso a outras pessoas usando esta linha de comando, insira a próxima linha para garantir que suas chaves SSH sejam armazenadas com segurança em um chaves_autorizadas pasta, onde somente você pode acessá-los (só execute este comando se você NÃO tiver um 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 para seu servidor local Git:
cd .ssh
vi authorized_keys
Etapa 4: crie um diretório mestre
No seu servidor Linux, você precisa criar um novo diretório para salvar todos os repositórios que seu Git utilizará em seus projetos futuros. Você pode aprender sobre os detalhes do gerenciamento de seus repositórios Git. Digite este comando:
mkdir directory_name
Etapa 5: Adicione seu projeto!
Você conseguiu criar um servidor Git! O processo de instalação do servidor Git foi concluído com sucesso e você também conseguiu configurar o servidor Git com sucesso. Resta apenas adicionar projetos adicionais com o seguinte comando:
cd parent_directory
mkdir new_project.git
Em seguida, digite este comando para adicionar 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 testar se tudo está funcionando conforme o 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 o git e criar um repositório git no servidor.
Perguntas frequentes
Posso hospedar o Git sem um servidor?
Não. Não importa a natureza do seu servidor, você precisará de hardware para atuar como servidor. Você pode usar o GitHub para atuar como um servidor em nuvem para seus repositórios ou usar nosso VPS oferece ou usa outro serviço de hospedagem de terceiros para atuar como servidor.
Existe alguma maneira de instalar um servidor Git com GUI?
Sim. Embora o Git em si não suporte GUI, uma versão autônoma com GUI conhecida como “Git GUI” está disponível para pessoas que não conseguem viver sem uma GUI.
Existe um plano pago para Git?
Não. O Git foi e sempre será um programa gratuito e de código aberto, conforme refletido por seus desenvolvedores e editores originais. Portanto, você pode usar o programa como um derivado para o desenvolvimento do seu programa, caso contrário, o programa é gratuito.
Por que você deve hospedar seu próprio servidor Git?
Suponha que você queira executar um projeto pequeno com repositórios limitados. Nesse caso, a auto-hospedagem é muito mais privada e segura. Então esse é o motivo principal. Mas à medida que você avança para projetos maiores com mais repositórios, a auto-hospedagem começa a perder eficiência.