Executando verificação de segurança...
1

[Pergunta] Como as empresas hospedam os repositórios de suas aplicações?

Na minha empresa nós usamos uma instância do Gitlab rodando no nosso próprio servidor. Imagino que pra isso tenham feito um fork (ou algo assim) do gitlab, visto que ele é open source, e botaram pra rodar no servidor da empresa. Imagino que tenham feito isso por questões de segurança.

Minha pergunta: Como as empresas que vocês trabalham, ou as empresas no geral, costumam hospedar seus repositórios? No Github de forma que fique tudo salvo na internet? No Gitlab? Em um repositório que rode só no servidor próprio igual faz a minha empresa? Se puder explicar também o motivo de ter escolhido fazer da forma que foi escolhido seria muito bom também.

Carregando publicação patrocinada...
4

Depende muito da empresa, no geral:

Empresas Tradicionais/Grandes Corporações:

  • Opção: Muitas corporações optam por hospedar seus repositórios internamente, ou seja, em servidores próprios, também conhecido como "in-premise".
  • Motivos:
    • Segurança: Ter controle total sobre o ambiente de hospedagem permite implementar políticas de segurança personalizadas.
    • Confidencialidade: Garante que o código e os dados não sejam expostos a terceiros.
    • Integração com sistemas legados: Facilita a integração com os diversos outros sistemas internos da empresa.

Startups e Empresas Baseadas na Web:

  • Opção: Geralmente optam por soluções de hospedagem na nuvem, como GitHub, GitLab Cloud entre outros.
  • Motivos:
    • Custo: Menor custo inicial, pois não requer infraestrutura física.
    • Colaboração: Plataformas como o GitHub facilitam a colaboração e integração contínua.
    • Manutenção: Sem preocupação com manutenção e atualizações, pois são gerenciadas pelo serviço.

Monorepo vs. Repositórios Múltiplos:

Monorepo:

  • Definição: Um monorepo é um repositório que contém mais de um projeto lógico. Por exemplo, uma empresa pode ter sua API, aplicativo da web e aplicativos móveis em um único repositório.
  • Vantagens:
    • Facilita o compartilhamento de código entre projetos.
    • Simplifica a gestão de dependências.
    • Promove a colaboração entre equipes.
  • Desvantagens:
    • Pode se tornar muito grande e difícil de gerenciar.
    • Pode complicar a integração contínua e a entrega contínua (CI/CD) se não for bem configurado.

Repositórios Múltiplos:

  • Definição: Cada projeto ou serviço tem seu próprio repositório.
  • Vantagens:
    • Isolamento claro entre projetos.
    • Mais fácil de gerenciar.
    • Permite que diferentes projetos tenham ciclos de lançamento e depedências diversas de forma natural.
  • Desvantagens:
    • Mais difícil de compartilhar código entre projetos.
    • Integração de projetos pode se tornar complicado.
2

Na empresa onde trabalho utilizamos o Bitbucket, há algumas vantagens empresariais e parcerias, integração com sonarcloud que utilizamos bastante, Trello, Confluence, e algumas outras.
Acabamos usando um pouco de GitHub também, mas apenas para liberar publicamente SDKs para integrar com algumas ferramentas internas da empresa.

2

github na internet (pra nao precisar se preocupar com manutenção e backups), e runners proprios rodando na rede interna (por questão de facilidade aos ambientes internos)