Drone CI/CD Kurulumu: Ubuntu 20.04 Üzerinde Drone Kurulumu ve Yapılandırması
Bu Rehberde Ne Öğreneceksiniz?
Bu rehberde Drone CI/CD platformunu Ubuntu 20.04 üzerinde kurmayı öğreneceksiniz.
GitHub entegrasyonu yapacak, Docker runner ekleyecek ve SSL ile güvenli bir pipeline çalıştıracaksınız.
🧠 Teknik Özet
Konu: Ubuntu 20.04 üzerinde Drone CI/CD kurulumu
Problem: Hafif ve konteyner tabanlı CI/CD ihtiyacı
Çözüm: Drone sunucusu + Docker runner mimarisi
Adımlar: OAuth → Drone yapılandırması → Runner → YAML pipeline
Ön Hazırlıklar
Devam etmeden önce aşağıdakiler gereklidir:
- En az 1 GB RAM içeren Ubuntu 20.04 sunucu
- Sunucu IP’sine yönlendirilmiş bir alan adı
- Sunucuda Docker kurulumu
- Bir GitHub hesabı
Not: Örnek alan adı olarak
drone.rabisu.cloudkullanılmıştır.
1️⃣ GitHub OAuth Uygulaması Oluşturma
Drone, GitHub ile kimlik doğrulama için OAuth kullanır.
GitHub’da Settings → Developer settings → OAuth Apps yolunu izleyin.
Yeni bir uygulama oluşturun.
- Application Name: Drone
- Homepage URL: https://drone.rabisu.cloud
- Authorization Callback URL: https://drone.rabisu.cloud/login
Oluşturulan Client ID ve Client Secret değerlerini saklayın.
2️⃣ Drone Yapılandırmasını Oluşturma
Sunucu ve runner iletişimi için gizli anahtar üretin.
openssl rand -hex 16
- Bu komut Drone RPC anahtarını üretir.
cat << 'EOF' | sudo tee /etc/drone
DRONE_SERVER_HOST=drone.rabisu.cloud
DRONE_SERVER_PROTO=https
DRONE_GITHUB_CLIENT_ID=github_client_id
DRONE_GITHUB_CLIENT_SECRET=github_client_secret
DRONE_RPC_SECRET=rpc_secret
DRONE_USER_CREATE=username:github_kullanici_adi,admin:true
DRONE_TLS_AUTOCERT=true
EOF
- Bu yapılandırma Drone sunucusunu HTTPS ile hazırlar.
3️⃣ Drone Sunucusunu Docker ile Başlatma
- Drone imajını indirin.
docker pull drone/drone:1
- Kalıcı veri alanı oluşturun.
docker volume create drone-data
- Drone sunucusunu başlatın.
docker run --name=drone --detach --restart=always \
--env-file=/etc/drone \
--volume=drone-data:/data \
--publish=80:80 \
--publish=443:443 \
drone/drone:1
- Bu komut Drone sunucusunu arka planda çalıştırır.
- Güvenlik duvarında portları açın.
sudo ufw allow 80
sudo ufw allow 443
sudo ufw reload
4️⃣ Docker Runner Kurulumu
- Drone işleri runner üzerinden çalıştırır.
docker pull drone/drone-runner-docker:1
docker run --name drone-runner --detach --restart=always \
--volume=/var/run/docker.sock:/var/run/docker.sock \
-e DRONE_RPC_PROTO=https \
-e DRONE_RPC_HOST=drone.rabisu.cloud \
-e DRONE_RPC_SECRET=rpc_secret \
-e DRONE_RUNNER_CAPACITY=2 \
-e DRONE_RUNNER_NAME=${HOSTNAME} \
drone/drone-runner-docker:1
- Bu yapı Docker tabanlı runner’ı başlatır.
5️⃣ İlk Pipeline Oluşturma
-
GitHub’da yeni bir depo oluşturun.
-
Depoya .drone.yml dosyasını ekleyin.
kind: pipeline
type: docker
name: test-pipeline
steps:
- name: hello
image: alpine
commands:
- echo "Drone kurulumu basarili"
- Dosya commit edildiğinde pipeline otomatik çalışır.
❓ Sıkça Sorulan Sorular (SSS)
1. Neden Jenkins yerine Drone? Drone daha hafiftir ve tamamen konteyner odaklı çalışır.
2. Drone ücretsiz mi? Evet. Açık kaynak sürümü çoğu kullanım için yeterlidir.
3. Runner kapasitesi nasıl belirlenir? CPU ve RAM kapasitenize göre eşzamanlı iş sayısını ayarlayın.
4. Loglar nerede saklanır? Varsayılan olarak veritabanında tutulur. Yoğun kullanımda S3 uyumlu depolama önerilir.
Sonuç
Bu rehberle Drone CI/CD altyapısını Ubuntu 20.04 üzerinde kurdunuz. Artık GitHub projeleriniz için hızlı ve güvenli bir otomasyon sürecine sahipsiniz.
Bu yapıyı Rabisu Bulut altyapısında kullanarak CI/CD süreçlerinizi ölçeklenebilir hale getirebilirsiniz.