1. Desteklenen Sistem ve Gereksinimler
İşletim Sistemi Uyumluluğu
Bu doküman ve pipeline scripti aşağıdaki sistemler için hazırlanmıştır:- Linux tabanlı Jenkins agent’ları (Önerilir)
- Ubuntu 24.04
- CentOS 7+
- Shell:
bash curlyüklü olmalıdır
⚠️ Jenkins Windows agent üzerinde çalışıyorsashyerinebatkullanılmalı vecurlPATH içinde bulunmalıdır.
Jenkins Versiyonu
Test edilen versiyon:- Jenkins
jenkins/jenkins:lts
Gerekli Jenkins Eklentileri ve Versiyonları
Aşağıdaki eklentiler kurulu olmalıdır:- Pipeline (2.6+)
- Pipeline Utility Steps (2.15.0+)
- Credentials Binding Plugin (1.27+)
Gerekli Harici Araçlar
curl7.68+- Java 11 (Jenkins runtime için önerilir)
2. Credential (Token) Tanımlama
API Token’lar Jenkins içerisinde Secret Text olarak tanımlanmalıdır. Eklemek için: Manage Jenkins → Credentials → (Global) → Add CredentialsKind: Secret Text Oluşturulması gereken credential’lar:
APINIZER_TEST_TOKEN→ Kaynak ortam token’ıAPINIZER_PROD_TOKEN→ Hedef ortam token’ı
3. Script Nereye Yazılır?
Bu script bir Jenkins Pipeline Job içerisine eklenmelidir. İki yöntem vardır:Seçenek A — Jenkins Arayüzünden
- New Item
- Pipeline seç
- Pipeline bölümüne git
- “Pipeline script” seç
- Groovy kodunu yapıştır
4. Pipeline Çalışma Mantığı
Pipeline tek bir ana stage içerir:Sync TEST → PROD
A. Kimlik Doğrulama
withCredentials bloğu token’ları güvenli şekilde yükler:
$TEST_TOKEN$PROD_TOKEN
B. TEST Ortamından Proxy Listesini Çekme
TEST projesindeki (test-cid) tüm proxy’ler JSON formatında alınır.
Export API dokümanı:https://docs.apinizer.com/api-reference/api-proxies/crud/export-api-proxy
C. Export İşlemi
Her proxy TEST ortamından.zip olarak export edilir.
D. Import İşlemi (PROD)
Export edilen.zip ve metadata.json dosyası HTTP PUT metodu ile PROD ortamına gönderilir.
Import API dokümanı:https://docs.apinizer.com/api-reference/api-proxies/crud/import-api-proxy
5. Pipeline Scripti (Groovy)
6. Hata Yönetimi ve Bildirim Mekanizması
Hata Durumu
set -e sayesinde:
- Export başarısız olursa
- Import başarısız olursa
- curl hata kodu dönerse
Hatalı Durum Kime Bildirilir?
Varsayılan olarak Jenkins sadece build’i FAILED yapar. Bildirim için aşağıdaki entegrasyonlardan biri yapılandırılmalıdır:- Email Notification
- Slack
- Microsoft Teams Webhook
- Jira
7. Önemli Notlar
- metadata.json şu anda
{}(varsayılan) olarak kullanılmaktadır - Ortamlar arası endpoint farklılıkları metadata ile yönetilebilir
- test-cid ve prod-cid proje ID’lerinin doğru olduğundan emin olun
- PROD senkronizasyonu aktif edilmeden önce test ortamında doğrulama yapılmalıdır
Doküman Versiyonu: 1.1
Kapsam: TEST → PROD API Proxy Senkronizasyonu
Amaç: CI/CD Otomasyonu

