O Gitea é uma plataforma gratuita e leve para alojar repositórios Git no teu próprio servidor, com pull requests, issues e wiki. O GitHub Team cobra por cada conta adicional na organização, o GitLab Premium faz o mesmo, e uma agência que atende vários clientes paga pelo mesmo repositório várias vezes, porque cada cliente quer ter a sua própria organização. O Gitea é um servidor Git de código aberto que podes instalar no teu próprio Box, onde obténs um explorador de código, pull requests, issues e wiki para cada repositório, e o número de utilizadores e repositórios não te custa nada. Abaixo, um guia passo a passo sobre como instalar o Gitea no Saplo.
Porquê Gitea em vez de GitHub ou GitLab
Manter o código na cloud de terceiros faz sentido enquanto a equipa é pequena, mas o custo aumenta com o número de contas:
- GitHub Team e GitLab Premium cobram uma taxa mensal por cada utilizador na organização, portanto, mais um programador ou mais um cliente da agência é mais um item na fatura, mesmo que utilize o sistema apenas uma vez por semana,
- Os repositórios privados de clientes guardados na cloud de terceiros são dados que ficam fora do teu controlo, o que pode ser um problema com os acordos de confidencialidade,
- Uma agência que gere vários clientes cria uma organização separada para cada um, e cada organização é um contador de lugares separado.
Gitea funciona como um único contentor Docker no teu Box, para que possas criar repositórios sem limites, as contas de utilizador são adicionadas manualmente pelo administrador, e o custo total é o custo do próprio Box, independentemente de a equipa ter duas ou vinte pessoas.
Gitea, GitHub e GitLab
Todos os três oferecem um navegador de código, pull requests e issues. A diferença está em onde os dados são armazenados e quanto custa cada conta adicional:
- O GitHub tem a maior comunidade e o maior número de integrações, mas organizações privadas pagam por cada conta, e o código dos clientes é armazenado nos servidores da Microsoft.
- O GitLab adiciona CI/CD incorporado, à custa de um consumo ainda maior de recursos se o instalares por conta própria, e o plano Premium com todas as funcionalidades também cobra uma taxa por utilizador.
- O Gitea é mais leve que ambos, funciona como um único contentor em vez de uma pilha inteira de microsserviços, e podes criar repositórios e contas ilimitadamente na tua própria Box.
Se a equipa ou agência não precisa de CI/CD incorporado nem de uma enorme comunidade de projetos públicos, mas sim de um local para o código dos clientes sob controlo total, o Gitea é a melhor opção.
Requisitos
Para instalares o Gitea no Saplo, precisas de:
- Uma Box com Docker em execução (o motor ativa-o automaticamente ao instalar a partir do catálogo, é necessário o nesting num contentor, o que o Saplo tem por padrão),
- No mínimo 512 MB de RAM livre na Box e 5 GB de espaço em disco, ou seja, o plano Box S é suficiente,
- Um domínio ou subdomínio
*.saploapp.plincluído em cada plano, onde o painel do Gitea será instalado, - NÃO precisas de criar uma base de dados separada manualmente - o motor cria automaticamente uma base de dados MySQL e conecta-a ao contentor, tal como acontece com o WordPress ou o Ghost.
Instalação passo a passo
- No Painel Saplo, acede ao Catálogo de aplicações e seleciona Gitea (categoria "Negócios").
- Indica uma Box com um mínimo de 512 MB de RAM livre, onde o servidor Git será instalado, e o Domínio ou subdomínio sob o qual o painel irá funcionar.
- Confirma a instalação. O motor implementa um contentor da imagem oficial
gitea/gitea, cria uma base de dados MySQL, ignora o assistente de instalação web e cria imediatamente uma conta de administrador com uma palavra-passe aleatória, conectada ao nginx, que serve o painel sob o Domínio especificado com SSL gratuito. - Após
docker compose up, o motor espera que o Gitea conclua a migração do esquema da base de dados antes de tentar criar a conta de administrador, e verifica se o contentor está realmente a funcionar antes de considerar a instalação concluída. - Os dados de login do administrador (login, palavra-passe) são guardados no ficheiro
GITEA-SETUP.txtno diretório da aplicação.
Primeira configuração
- Acede ao endereço do domínio, por exemplo,
kod.saploapp.pl, e inicia sessão com o loginadmine a palavra-passe do ficheiroGITEA-SETUP.txt. - Altera a palavra-passe imediatamente após o primeiro início de sessão (ícone da conta no canto superior direito, Definições, Conta).
- O registo público está desativado - adicionas novos utilizadores manualmente em Site Administration, Users, Create User Account, tal como no Ghost ou no Listmonk, porque é uma ferramenta privada da equipa, não um serviço público.
- Cria o primeiro repositório (New Repository), clona-o para o endereço do domínio via HTTPS e faz o primeiro commit - o servidor SSH integrado está desativado, a clonagem e o push funcionam exclusivamente via HTTPS.
- Para repositórios de clientes, podes criar uma organização separada (Create Organization) e adicionar apenas os utilizadores que devem ter acesso.
Gitea na Saplo vs. GitHub Team e GitLab Premium
| GitHub Team | GitLab Premium | Gitea na Saplo | |
|---|---|---|---|
| Taxa para utilizador adicional | sim | sim | não |
| Limite de repositórios privados | nenhum | nenhum | nenhum |
| Onde está o código | nos servidores do GitHub | nos servidores do GitLab | no teu Box |
| CI/CD integrado | Ações do GitHub pagas separadamente após o limite | sim, incluído no plano | não, é necessário um runner separado |
| Custo | a partir de 4 USD por utilizador por mês | a partir de 29 USD por utilizador por mês | o custo do próprio Box |
Perguntas frequentes
É possível clonar repositórios via SSH? Não, o acesso ao Gitea no Saplo é apenas via HTTPS. O servidor SSH integrado está desativado porque o Saplo não expõe a porta 22 das aplicações cliente externamente.
Qualquer pessoa pode criar uma conta? Não, o registo público está desativado. Novas contas são criadas manualmente pelo administrador no painel de Site Administration.
O Gitea tem CI/CD integrado como o GitLab? Não nesta instalação. O Gitea foca-se em repositórios, pull requests, issues e wiki. Para automação de builds, é necessário um runner separado ou uma ferramenta externa.
É possível migrar repositórios existentes do GitHub ou GitLab? Sim, o Gitea tem um importador de repositórios integrado a partir de um URL. Basta fornecer o link para o repositório de origem e as credenciais de acesso, se for privado.
Se a tua equipa ou agência está a pagar por contas adicionais no GitHub ou GitLab e queres ter controlo total sobre o código dos teus clientes, contacta-nos. Ajudaremos a escolher o Box certo para a tua equipa.
- #DevOps
- #Git
- #Gitea
- #Guia
