Auto-hospedar sistemas de integração e entrega contínua pode melhorar significativamente seu fluxo de trabalho de desenvolvimento. Drone CI é um sistema CI de código aberto que se integra perfeitamente ao seu repositório e oferece uma interface de usuário intuitiva para gerenciar builds. Neste guia, vamos conduzi-lo pelo processo de auto-hospedagem do Drone CI em um VPS.
Por Que Usar um VPS para Drone CI?
Utilizar um VPS (Virtual Private Server) para hospedar o Drone CI permite que você tenha controle total sobre seu ambiente. Isso é crucial para desenvolvedores que desejam personalizar seus pipelines de CI e manter dados sensíveis seguros. A seguir, uma pequena comparação de alguns dos principais provedores de VPS adequados para hospedar o Drone CI.
| Provedor | Preço | Recursos | Ideal Para |
|---|---|---|---|
| Contabo VPS | 5,99 EUR/mês | 4 GB RAM, 2 vCores | Usuários com orçamento limitado |
| Hetzner Cloud | 4,15 EUR/mês | 2 GB RAM, 1 vCore | Pequenos projetos |
| DigitalOcean | 6 USD/mês | 1 GB RAM, 1 vCore | Startups |
| Vultr | 6 USD/mês | 1 GB RAM, 1 vCore | Flexibilidade |
| Linode | 5 USD/mês | 1 GB RAM, 1 vCore | Iniciantes em VPS |
Pré-Requisitos
Antes de começar, certifique-se de que você possui:
- Um VPS: Escolha um das opções acima. Por exemplo, Contabo ou Hetzner.
- Docker: O Drone CI roda dentro de um container Docker.
- Nome de Domínio (opcional): Para acessar o servidor do CI de forma visual e segura.
- Acesso ao GitHub ou repositório equivalente se desejar configurar webhooks.
Passo 1: Configurar seu VPS
-
Faça login no seu VPS: Use SSH para acessar seu servidor.
ssh root@seu-ip-do-servidor -
Atualize o sistema:
apt-get update && apt-get upgrade -y -
Instale Docker e Docker Compose:
apt-get install -y docker.io docker-compose -
Verifique se o Docker foi instalado corretamente:
docker --version
Passo 2: Instalar o Drone CI
-
Crie um diretório para o Drone:
mkdir -p /opt/drone cd /opt/drone -
Crie um arquivo
.env: Crie um novo arquivo chamado.envno diretório/opt/dronecom o seguinte conteúdo:DRONE_GITEA_SERVER=https://seu-servidor-gitea.com DRONE_RPC_SECRET=sua-chave-rpc DRONE_SERVER_HOST=seu-dominio-do-drone.com DRONE_SERVER_PROTO=https -
Crie o arquivo
docker-compose.yml:version: '3' services: drone-server: image: drone/drone:latest ports: - 80:80 environment: - DRONE_GITEA_SERVER=https://seu-servidor-gitea.com - DRONE_RPC_SECRET=${DRONE_RPC_SECRET} - DRONE_SERVER_HOST=${DRONE_SERVER_HOST} - DRONE_SERVER_PROTO=${DRONE_SERVER_PROTO} volumes: - drone-data:/data volumes: drone-data: -
Inicie o Drone: Execute o seguinte comando para iniciar o servidor do Drone:
docker-compose up -d
Passo 3: Configurar o Drone CI
-
Acesse o Drone: Abra seu navegador e vá até
http://seu-dominio-do-drone.com. Você deverá ver a tela de login do Drone CI. -
Faça login com sua conta de repositório: Conecte seu serviço Git.
-
Configure seu repositório: Uma vez logado, você pode configurar quais repositórios deseja automatizar com o Drone.
-
Crie um arquivo
.drone.ymlno seu repositório: Este arquivo contém a configuração do pipeline.
Perguntas Frequentes
Quais são os requisitos de armazenamento para o Drone CI?
O próprio Drone CI não requer muito espaço de armazenamento. A recomendação mínima é de 1 GB, o suficiente para logs e arquivos de configuração. No entanto, dependendo do tamanho do seu código e do número de builds, talvez seja necessário considerar um disco maior. Além disso, o uso prolongado gerará mais dados; portanto, monitorar o armazenamento regularmente é essencial. Use opções de gerenciamento de volumes dentro do Docker para otimizar o uso do armazenamento.
Posso integrar o Drone CI com GitHub ou GitLab?
Sim, o Drone CI suporta integração com diversos serviços de hospedagem de repositórios, incluindo GitHub, GitLab, Bitbucket e Gitea. Para configurar, acesse a página de configuração do Drone após o login e selecione seu serviço Git preferido. Certifique-se de que tem as permissões necessárias nos seus repositórios para permitir que o Drone crie webhooks e acesse os repositórios.
Como escalar minha instalação do Drone CI?
Para escalar sua instalação do Drone CI, você pode rodar várias instâncias do servidor Drone por trás de um balanceador de carga. Essa configuração garante melhor desempenho sob uso intenso. Ajuste o arquivo docker-compose.yml para escalonar e considere usar um banco de dados PostgreSQL para persistência e clustering. Consulte a documentação oficial do Drone ou recursos comunitários como r/selfhosted para estratégias avançadas de escalabilidade.
Conclusão
Auto-hospedar o Drone CI em um VPS é uma maneira poderosa de aprimorar sua estratégia de CI/CD. Seguindo este guia, você configurou um ambiente funcional adaptado às suas necessidades de desenvolvimento. Para mais detalhes sobre a escolha dos melhores provedores de VPS para seu projeto, confira nossa comparação completa de VPS. --- FIM ---