Sürekli entegrasyon ve teslimat sistemlerini kendiniz barındırmak, geliştirme iş akışınızı önemli ölçüde geliştirebilir. Drone CI, deposunuzla sorunsuz şekilde bütünleşen ve yapıları yönetmek için sezgisel bir kullanıcı arayüzü sağlayan açık kaynaklı bir CI sistemidir. Bu kılavuzda, VPS üzerinde Drone CI’yi kendiniz barındırma sürecini adım adım anlatacağız.
Neden Drone CI için VPS Kullanmalıyım?
VPS (Sanal Özel Sunucu) kullanmak, Drone CI’yi barındırmak için ortamınız üzerinde tam kontrol sağlar. Bu, CI pipeline’larınızı özelleştirmek ve gizli verilerinizi güvende tutmak isteyen geliştiriciler için önemlidir. Aşağıda, Drone CI barındırmak için uygun bazı en iyi VPS sağlayıcılarının küçük bir karşılaştırması yer almaktadır.
| Sağlayıcı | Fiyat | Kaynaklar | Uygun Olduğu Alanlar |
|---|---|---|---|
| Contabo VPS | 5.99 EUR/ay | 4 GB RAM, 2 vÇekirdek | Bütçe kullanıcıları |
| Hetzner Cloud | 4.15 EUR/ay | 2 GB RAM, 1 vÇekirdek | Küçük projeler |
| DigitalOcean | 6 USD/ay | 1 GB RAM, 1 vÇekirdek | Startuplar |
| Vultr | 6 USD/ay | 1 GB RAM, 1 vÇekirdek | Esneklik |
| Linode | 5 USD/ay | 1 GB RAM, 1 vÇekirdek | VPS başlangıç seviyeleri |
Ön Koşullar
Başlamadan önce, şunlara sahip olmalısınız:
- Bir VPS: Yukarıdaki seçeneklerden biri. Örneğin, Contabo veya Hetzner.
- Docker: Drone CI, Docker konteynerinde çalışır.
- Alan Adı (isteğe bağlı): CI sunucusuna görsel ve güvenli erişim için.
- GitHub veya eşdeğer depo erişimi: Webhook’lar kurmak istiyorsanız.
Adım 1: VPS’inizi Kurun
-
VPS’inize giriş yapın: SSH kullanarak sunucunuza bağlanın.
ssh root@sunucu-ip-niz -
Sistem Güncellemesi:
apt-get update && apt-get upgrade -y -
Docker ve Docker Compose Kurulumu:
apt-get install -y docker.io docker-compose -
Docker’ın doğru kurulduğunu doğrulayın:
docker --version
Adım 2: Drone CI’yi Kurun
-
Drone için bir dizin oluşturun:
mkdir -p /opt/drone cd /opt/drone -
Bir
.envdosyası oluşturun:/opt/dronedizininde.envadında yeni bir dosya oluşturun ve aşağıdaki içeriği ekleyin:DRONE_GITEA_SERVER=https://your-gitea-server.com DRONE_RPC_SECRET=your-rpc-secret DRONE_SERVER_HOST=your-drone-domain.com DRONE_SERVER_PROTO=https -
docker-compose.ymldosyasını oluşturun:version: '3' services: drone-server: image: drone/drone:latest ports: - 80:80 environment: - DRONE_GITEA_SERVER=https://your-gitea-server.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: -
Drone’yi başlatın: Aşağıdaki komutla Drone sunucusunu çalıştırın:
docker-compose up -d
Adım 3: Drone CI’yi Yapılandırın
-
Drone’a erişin: Tarayıcınızı açın ve
http://your-drone-domain.comadresine gidin. Drone CI giriş ekranını görmelisiniz. -
Depo hesabınızla giriş yapın: Git servisiniz ile bağlanın.
-
Depo ayarlarını yapın: Giriş yaptıktan sonra, hangi depoların otomasyonla yönetilmesini istediğinizi yapılandırabilirsiniz.
-
Depo kök dizinine
.drone.ymldosyası ekleyin: Bu dosya, pipeline yapılandırmasını içerir.
Sıkça Sorulan Sorular
Drone CI’nin depolama gereksinimleri nelerdir?
Drone CI, çok fazla depolama alanı gerektirmez. Minimum öneri 1 GB’dır ve günlükler ile yapılandırma dosyalarını depolamak için yeterlidir. Ancak, kod tabanınızın büyüklüğü ve yapılan yapıların sayısına göre daha büyük bir disk gerekebilir. Uzun süreli kullanım, daha fazla veri üretecektir; bu nedenle, depolama alanını düzenli takip etmek önemlidir. Docker içindeki volume yönetim seçeneklerini kullanarak depolama kullanımını optimize edebilirsiniz.
Drone CI’yi GitHub veya GitLab ile entegre edebilir miyim?
Evet, Drone CI, GitHub, GitLab, Bitbucket ve Gitea gibi çeşitli depo barındırma hizmetleriyle entegrasyonu destekler. Kurulum sırasında Drone yapılandırma sayfasını ziyaret edip istenen Git servisini seçebilirsiniz. Ayrıca, depolarınıza webhook’lar oluşturmak ve erişim izinlerine sahip olmak için gerekli izinleri sağladığınızdan emin olun.
Drone CI kurulumumu nasıl ölçeklendirebilirim?
Drone CI kurulumunu ölçeklendirmek için, bir yük dengeleyici arkasında birden fazla Drone sunucusu çalıştırabilirsiniz. Bu, yoğun kullanım altında daha iyi performans sağlar. docker-compose.yml dosyasını ölçeklendirmek ve persistence ile clustering için PostgreSQL gibi bir veritabanı kullanmak akıllı bir seçim olacaktır. Daha gelişmiş ölçeklendirme stratejileri için resmi Drone belgelerine veya r/selfhosted gibi topluluk kaynaklarına göz atabilirsiniz.