Otomasyon sunucusu: Semaphore UI ve Jenkins

Denis GukovSemaphore UI Kurucusu ve Teknoloji Direktörü
18 dk okuma

Jenkins ve Semaphore UI aynı otomasyon araçlarının çoğunu çalıştırır, ancak bu araçlar etrafındaki işi farklı biçimlerde düzenler. Jenkins derleme, test ve dağıtımı job'lar, Pipeline'lar ve eklentilerle birbirine bağlar. Semaphore UI ise Ansible, Terraform/OpenTofu, Terragrunt, Bash, PowerShell ve Python'u altyapı operasyonlarını hazırlamak, çalıştırmak ve devretmek için paylaşılan bir hizmette bir araya getirir. Bu karşılaştırma Jenkins 2.580.1 LTS ve Semaphore UI 2.20.0 sürümlerini kapsar.

Bu makaleyi yapay zekâyla tartış

Genel bakış

Otomasyon genellikle çalışan bir kodla başlar: sunuculara yama uygulayan bir playbook, ortam oluşturan bir Terraform projesi veya hizmeti yeniden başlatan bir komut. Bunu paylaşmak yeni kararlar gerektirir. Birinin hedefleri seçmesi, kimlik bilgilerini sağlaması, çalıştırmalar arasında değişen değerleri toplaması ve sonucu ekip arkadaşlarının erişimine sunması gerekir. Bir sürüm yayınlama pipeline'ı ile bir operasyon arayüzü bu işi farklı biçimlerde düzenleyerek gerçekleştirebilir.

Jenkins, sürekli entegrasyon ve teslimat için yaygın olarak kullanılan, genişletilebilir bir otomasyon sunucusudur. Freestyle job'lar derleme adımlarını arayüzden yapılandırırken Jenkinsfile, Pipeline'ı sürüm kontrolündeki kodla tanımlar. İşi agent'lar yürütür, eklentiler ise araç entegrasyonları, yetkilendirme, raporlar ve artifact yönetimi sağlar. Aynı job modeli zamanlanmış kontrolleri ve elle başlatılan altyapı işlemlerini de destekler.

Semaphore UI işlemi bir görev şablonu etrafında düzenler. Şablon bir otomasyon aracı ve depo seçer, ardından işlemin ihtiyaç duyduğu ayarları bir araya getirir. Ansible için bunlar envanter, kimlik bilgileri ve değişken gruplarını içerir. Girdi formları başlatma sırasında değerleri toplar, zamanlamalar işlemi tekrarlar ve iş akışları birden fazla şablonu bağlar. Otomasyon Git'te kalırken arayüz ekibe onu kullanmak için ortak bir yol sunar.

Kısa karşılaştırma

Her ikisi de bir playbook'u isteğe bağlı veya zamanlanmış olarak çalıştırabilir. Bu playbook'un birden fazla ortamda yeniden kullanılması, başka bir ekip üyesine devredilmesi veya kaynak sağlama işlemiyle birleştirilmesi gerektiğinde farklar belirginleşir.

Jenkins ve Semaphore UI: temel özellikler
Ölçütler Semaphore UI Jenkins
Otomasyon araçları Ansible, Terraform/OpenTofu, Terragrunt, Bash, PowerShell, Python şablonları Komut satırı araçları ve eklentilerin sağladığı derleme adımları
Kurulum İkili dosya, yerel paketler, Docker, Kubernetes WAR paketi, yerel paketler, Docker, Kubernetes
Yürütme Sunucuda veya runner'larda Konteyner tabanlı ortamlar dahil agent'lar
Ansible envanteri Paylaşılan statik veya Git tabanlı envanterler, Ansible keşif eklentileri Ansible eklentisi veya job üzerinden yapılandırılan envanter
Job yapılandırması Araca özel görev şablonları Arayüzden yapılandırılan job'lar ve Jenkinsfile Pipeline'ları
Girdiler ve değişkenler Girdi formları ve yeniden kullanılabilir değişken grupları Job parametreleri, Pipeline değişkenleri ve kod içindeki yapılandırma
İş akışları Görev şablonlarını bağlayan görsel grafik Declarative veya Scripted Pipeline, yeniden kullanılabilir kütüphaneler
Terraform durumu Harici backend veya Pro'da yerleşik HTTP backend Terraform süreci tarafından yapılandırılan backend
Kimlik bilgileri Anahtar deposu ve harici secret deposu entegrasyonları Kimlik bilgisi deposu, bağlantılar ve secret deposu eklentileri
Erişim denetimi Proje rolleri, Enterprise özel rolleri ve şablon izinleri Proje tabanlı izinler dahil yapılandırılabilir yetkilendirme
Lisans MIT lisanslı Community, ticari Pro ve Enterprise MIT lisanslı çekirdek, eklentilere özel lisanslar

Rutin bir Ansible operasyonunda Semaphore UI playbook'u, hedefleri, bağlantı kimlik bilgilerini ve ortak yapılandırmayı bir arada tutar. Bir hazırlık ortamı dağıtımı, sertifika kontrolü ve hizmet yeniden başlatma işlemi farklı başlatma formları sunarken aynı proje kaynaklarını kullanabilir. Jenkins aynı işlemleri yapılandırılmış job'lar ve eklentilerle veya Pipeline koduyla temsil edebilir. İşlem derleme artifact'larına, test raporlarına veya ortak pipeline kütüphanelerine de bağlı olduğunda ek teslimat özellikleri değer kazanır.

Özellik karşılaştırması

Paylaşılan bir otomasyon hizmetinin işi yalnızca komut başlatmak değildir. Mühendisler işlemi ve erişimi hazırlar, ekip arkadaşları uygun girdilerle başlatır ve yürütme yönetilen sistemlere ulaşır. Aşağıdaki bölümler, Jenkins'te kalması uygun olabilecek teslimat pipeline'ı parçaları dahil, her ürünün bu süreci nasıl desteklediğini karşılaştırır.

Kurulum ve yapılandırma

Çalışma zamanı, kalıcı depolama ve güncelleme süreci, paylaşılan otomasyon hizmetinin nasıl barındırılacağını belirler. Jenkins controller verilerini dosya sisteminde tutarken Semaphore UI veritabanı kullanır.

DestekleniyorKısmen destekleniyorDesteklenmiyor
Kurulum ve yapılandırma: Jenkins ve Semaphore UI
Ölçütler Semaphore UI Jenkins
Bağımsız yerel ikili dosya Evet HayırJava çalışma zamanı gerekir
Yerel paketler Evet Evet
Sunucu platformları Linux, macOS, Windows, FreeBSD Linux, macOS, Windows ve diğer desteklenen Java platformları

Jenkins, desteklenen bir Java çalışma zamanında çalıştırılabilir WAR dosyası, yerel paket veya konteyner olarak çalışır. Controller, agent'lardaki job'ları koordine eder ve agent etiketleri uygun işletim sistemini veya araç zincirini seçer. Dolayısıyla mevcut agent'lar ve yüklü araçları hem teslimat pipeline'ları hem de bakım job'ları için kullanılmaya devam edebilir.

Semaphore UI bağımsız ikili dosyalar, yerel paketler, Docker ve Kubernetes dağıtımları sunar. Küçük bir kurulum, otomasyonu web hizmetiyle aynı sunucuda çalıştırabilir. İkili dosya ve paket seçenekleri JVM veya Kubernetes kümesi gerektirmez, böylece ekip dağıtık yürütmeye ihtiyaç duymadan önce geleneksel sunucu kurulumuyla başlayabilir. Web hizmeti Windows'ta çalışsa bile Ansible yürütmesi Linux, WSL veya Linux runner gibi desteklenen bir kontrol ortamına ihtiyaç duyar.

Otomasyon araçları

Kaynak sağlama, host yapılandırma ve hizmet bakımı çoğu zaman farklı araçlar kullanır. Fark, bir shell'in komutu çalıştırıp çalıştıramamasından çok her işlemin nasıl hazırlanıp yeniden kullanıldığıdır.

DestekleniyorKısmen destekleniyorDesteklenmiyor
Otomasyon araçları: Jenkins ve Semaphore UI
Ölçütler Semaphore UI Jenkins
Ansible playbook dosyaları EvetGörev şablonu EvetAnsible eklentisi veya CLI
Terraform/OpenTofu EvetGörev şablonu EvetJob adımı veya Pipeline
Terragrunt EvetGörev şablonu EvetJob adımı veya Pipeline
Bash EvetGörev şablonu EvetJob adımı veya Pipeline
PowerShell EvetGörev şablonu EvetJob adımı veya Pipeline
Python EvetGörev şablonu EvetJob adımı veya Pipeline
Yerleşik Terraform HTTP backend EvetPro HayırAyrı bir backend yapılandırılır

Jenkins komut satırı araçlarını Freestyle derleme adımları veya Pipeline kodu üzerinden çağırır. Ansible eklentisi her iki job türüne playbook, envanter ve kimlik bilgisi ayarları ekler. Bir Jenkinsfile derleme, test, imaj oluşturma ve altyapı değişikliklerini birleştirerek işlem sırasını uygulamayla birlikte kod incelemesine tabi tutabilir.

Semaphore UI Ansible, Terraform/OpenTofu, Terragrunt, Bash, PowerShell ve Python için ayrı görev şablonları sunar. Mühendisler arayüzde depoyu, araç ayarlarını, kimlik bilgilerini ve ortak değişkenleri seçerken otomasyon kodu Git'te kalır. Terraform kaynak sağlama görevi veya Python hazırlık kontrolü bağımsız, zamanlanmış ya da iş akışının bir parçası olarak çalışabilir. Bu model, ortak başlatma ayarlarını Semaphore UI'da yönetmek ve hazırlanmış işlemleri arayüzden sunmak isteyen ekiplere uygundur. İş sırası ve yapılandırma dahil orkestrasyondaki değişikliklerin kod incelemesi ve sürüm geçmişi gerektirdiği durumlarda Jenkinsfile yararlıdır.

Semaphore UI Pro, Terraform/OpenTofu state için workspace'ler, sürüm geçmişi ve arayüzden yönetim içeren bir HTTP backend sunar. Birden fazla ortam oluşturan ekip, state sürümlerini değişiklikleri çalıştırdığı hizmette inceleyebilir. Jenkins entegre bir HTTP state backend sağlamaz. Terraform eklentisi job workspace'inde yerel state dosyası tutarken CLI tabanlı job'lar ekibin yapılandırdığı S3, bulut veya başka bir uzak backend kullanabilir. Yerel eklenti state dosyası, paylaşılan state hizmetinden farklıdır. Semaphore UI da harici backend kullanabilir.

Bir IaC değişikliği onay gerektiriyorsa state saklamak, uygulanacak planın tam halini korumaktan ayrı bir konudur. Semaphore UI'ın varsayılan Terraform sırası kaydedilmiş bir planı otomatik yeniden kullanmadan plan ve apply çalıştırır, varsayılan komutlar da üzerine yazılmadıkça state kilitlemesini devre dışı bırakır. Kaydedilmiş plan onayı veya kilitleme gereken süreçlerde bu komut seçenekleri yapılandırılmalıdır. Böylece state backend ve iş akışı, amaçlanan değişiklik sürecinin yapılandırmasının yerini almak yerine onu destekler.

Kaydedilmiş işlemler ve zamanlamalar

Hizmet yeniden başlatma, sertifika yenileme veya uygulama yayınlama işlemi yapılandırmasını korumalıdır. Ekip arkadaşları daha sonra işlemi seçer, değişen girdileri sağlar ve elle veya zamanlanmış olarak çalıştırır.

DestekleniyorKısmen destekleniyorDesteklenmiyor
Kaydedilmiş işlemler ve zamanlamalar: Jenkins ve Semaphore UI
Ölçütler Semaphore UI Jenkins
Başlatma girdileri Evet Evet
Paylaşılan yapılandırma EvetDeğişken grupları EvetShared Libraries veya yönetilen dosyalar
Zamanlanmış çalıştırmalar Evet Evet
Derleme sürümleri ve dağıtım seçimi EvetBirbirine bağlı Build ve Deploy şablonları EvetPipeline aşamaları ve derleme parametreleri
Kaydedilmiş depo bağlantıları EvetŞablonların yeniden kullandığı adlandırılmış proje depoları EvetJob SCM ayarları veya Jenkinsfile

Jenkins Freestyle job'ları parametreleri arayüzde toplarken Pipeline'lar işlem sırasını kodda tutar. Semaphore UI görev şablonları aracı, depoyu, envanteri, kimlik bilgilerini ve değişken gruplarını tek bir kayıtlı işlemde bir araya getirir. Mühendisler bu kaynakları yeniden kullanan ayrı yedekleme, dağıtım ve hizmet kurtarma şablonları hazırlayabilir.

Yeniden başlatma işleminde bir form, operatörden bağlantı ayrıntılarını yeniden kurmasını istemeden hizmeti ve istenen durumu sorabilir. Adlandırılmış değişken grupları ortak ortam yapılandırmasını sağlar. Jenkins parametreleri ve yönetilen yapılandırma dosyaları, referansları ve gerekli bağlantıları job veya Pipeline içinde tanımlanarak eşdeğer işi karşılayabilir.

Semaphore UI'da depo, playbook, envanter ve yeniden kullanılabilir değişkenleri içeren Ansible görev şablonu yapılandırması.
Semaphore UI. Bir Ansible görev şablonu depoyu, playbook'u, envanteri ve değişken gruplarını tek bir hazırlanmış işlemde tutar.
Pipeline script'ini, Groovy sandbox seçeneğini ve Kaydet düğmesini gösteren Jenkins Pipeline yapılandırma düzenleyicisi.
Jenkins. Pipeline tanımı yapılandırma ekranında düzenlenebilir veya sürüm kontrolündeki bir Jenkinsfile'dan yüklenebilir. Resmî dokümantasyon

Semaphore UI Build ve Deploy şablonlarını da birbirine bağlar. Bir derleme artan bir sürüm numarası kaydeder, dağıtım ise başarılı bir derleme sürümünü seçer veya başarılı derlemeden sonra otomatik başlar. Otomasyon, paketi veya imajı ekibin seçtiği depolamaya yükler ve oradan alır. Jenkins Pipeline'ları aşamalar, parametreler ve artifact yönetimiyle aynı sürüm ilerleyişini sunar ve daha kapsamlı test ve teslimat raporlaması sağlar.

Her ikisi de yeni bir commit olmadan her gece sertifika kontrolü çalıştırabilir. Semaphore UI hazırlanmış şablona cron ifadesi veya tek seferlik zamanlama bağlar. Jenkins job'lara veya Pipeline'lara cron tetikleyicileri ekler. Kaydedilmiş envanter ve değişkenler, her başlatmada yeni yapılandırma gerektirmeden tekrarlanan host işlemlerini tutarlı hale getirir.

Envanter

Host bakımı, hedeflerin ve bağlantı ayarlarının yeniden kullanılabilir bir tanımına dayanır. Yama uygulama, yedekleme ve sertifika kontrolü aynı tanımı paylaşabilir.

DestekleniyorKısmen destekleniyorDesteklenmiyor
Envanter: Jenkins ve Semaphore UI
Ölçütler Semaphore UI Jenkins
Yeniden kullanılabilir Ansible envanterleri EvetArayüzden yönetilen envanter kaynakları EvetEnvanter dosyaları veya eklenti yapılandırması
Dinamik host keşfi EvetAnsible envanter eklentileri EvetAnsible envanter eklentilerini job içinde çalıştırma
Başlatırken host seçimi EvetAnsible limit girdisi EvetAnsible eklentisinin limit ayarı veya job parametresi

Semaphore UI envanteri, şablonların paylaşabildiği adlandırılmış bir proje kaynağına dönüştürür. Düzenlenebilir INI/YAML içerebilir, Git'teki bir dosyaya başvurabilir veya Ansible'ın dinamik envanter eklentilerini kullanabilir. Seçilen envanter host ve isteğe bağlı sudo kimlik bilgisi referanslarını da tutar, dolayısıyla hedef yapılandırmasını değiştirmek her bakım işlemini düzenlemeyi gerektirmez.

Jenkins aynı Ansible dosyalarını ve keşif eklentilerini kullanabilir. Ansible eklentisi bir envanter yolu veya satır içi içerik kabul eder ve Ansible limit ayarlarını sunar. Job'lar ve yönetilen dosyalar bu yapılandırmayı yeniden kullanabilir. Her ikisi de bulut API'lerinden veya yüklü Ansible eklentilerinin desteklediği diğer sistemlerden host keşfedebilir. Semaphore UI'ın farkı, operasyon arayüzündeki yeniden kullanılabilir envanter nesnesi ve bağlantı ayarlarıdır.

Tek sunucudaki bir kurtarma görevi için izin verilen bir Ansible limit, yeni envanter oluşturmadan çalıştırmayı daraltır. Bu, filoyu otomatik olarak bağımsız job'lara bölmek yerine tek görev içindeki host'ları seçer. Değişikliklerinin incelenmesi gerektiğinde Git'teki envanter her iki üründe de yararlıdır.

Yürütme

Yürütmenin doğru bağımlılıklarla hedef ağa ulaşması gerekir. Worker konumu ve job başına izolasyon, web sunucusunun nasıl kurulduğundan bağımsızdır.

DestekleniyorKısmen destekleniyorDesteklenmiyor
Yürütme: Jenkins ve Semaphore UI
Ölçütler Semaphore UI Jenkins
Uzak yürütme EvetRunner'lar EvetAgent'lar
Konteyner içinde job'lar EvetProGörev başına Docker yürütücüsü EvetDocker Pipeline eklentisi
Kubernetes görev podları EvetEnterprise EvetKubernetes eklentisi
Runner yönlendirme EvetProRunner etiketleri EvetAgent etiketleri
Worker ataması EvetProProjeye atanmış runner'lar EvetJob'ların seçtiği agent etiketleri

Jenkins agent'ları job'ları etiketler ve Pipeline yapılandırmasıyla seçilen makinelerde çalıştırır. Semaphore UI sunucusunda yerel olarak çalışabilir veya görevleri yönetilen sistemlerin yakınındaki runner'lara gönderebilir. Merkezi arayüz işlemi kaydederken runner özel ağ içindeki otomasyonu yürütebilir.

Semaphore UI Pro projeye atanmış runner'lar ve etiket tabanlı yönlendirme ekler, böylece üretim işlemleri hazırlık ortamından farklı bir yürütme havuzu kullanabilir. Jenkins agent etiketleri job'ın nerede çalışacağını seçer, ancak tek başlarına agent'ı kimin kullanabileceğini sınırlamaz. Derlemeler varsayılan olarak SYSTEM kimliğiyle çalıştığından agent izinlerini uygulamak için uygun derleme yetkilendirmesi de gerekir.

Geçici çalışma ortamları için Semaphore UI Pro görevleri tek tek Docker'da çalıştırır, Enterprise ise Kubernetes görev pod'larını destekler. Jenkins eşdeğer ortamlar için Docker Pipeline ve Kubernetes eklentilerini kullanır. Yalnızca sunucuyu konteynere almak her işleme ayrı bir çalışma ortamı sağlamaz. Bu seçenekler, job'lar farklı araç sürümleri veya bağımlılıklar gerektirdiğinde önemlidir.

İş akışları

Bir host oluşturmak, yapılandırmak ve hizmetini doğrulamak birden fazla kayıtlı işlemi birleştirir. Hatalar ve onay noktaları sonraki adımın çalışıp çalışmayacağını belirler.

DestekleniyorKısmen destekleniyorDesteklenmiyor
İş akışları: Jenkins ve Semaphore UI
Ölçütler Semaphore UI Jenkins
Grafik tabanlı iş akışı düzenleme EvetKaydedilmiş şablonları görsel olarak bağlama EvetBlue Ocean düzenleyicisi, kullanımdan kaldırıldı
Başarı ve hata dalları EvetGörsel iş akışı bağlantıları EvetPipeline koşulları ve post eylemleri
Onay adımları Evet EvetPipeline Input Step
İş akışında değer aktarımı Evet EvetPipeline değişkenleri ve adımların döndürdüğü değerler
Adımlar arasında dosyalar KısmenPaylaşılan depolama veya aktarım yapılandırılır EvetPipeline içinde stash ve unstash
Yeniden kullanılabilir çok adımlı bileşenler KısmenGörevler yeniden kullanılır, sıra yeniden oluşturulur EvetShared Libraries

Birden fazla işlem bir Semaphore UI iş akışına dönüşebilir. OpenTofu şablonu hazırlık ortamını oluşturur, bir onay adımı sonraki değişiklikten önce duraklatır ve Ansible şablonu host'ları yapılandırır. Hata dalı bir Bash bildirimi veya kurtarma işlemi başlatabilir. Her görev araca özel yapılandırmasını korur ve bağımsız da çalıştırılabilir. Grafik, bu hazırlanmış işlemleri tek bir Pipeline script'ine dönüştürmeden aralarındaki ilişkiyi görünür kılar.

Semaphore UI kayıtlı şablonlar arasındaki bağlantıları iş akışı düzenleyicisinde oluşturur. Jenkins de SCM tabanlı Declarative Pipeline'lar oluşturan ve Jenkinsfile kaydeden Blue Ocean Pipeline Editor ile görsel düzenleme sunar. Bu düzenleyici her Declarative Pipeline özelliğini kapsamaz. Blue Ocean Temmuz 2026'da kullanımdan kaldırılmıştır ve artık güvenlik veya işlev güncellemeleri almamaktadır. Bu nedenle Jenkins, Pipeline oluşturmak için bakımı devam eden söz dizimi oluşturma araçlarını önerir.

İş akışı değerleri bu adımları, örneğin oluşturulan host'un adresini yapılandırma görevine ileterek bağlayabilir. Semaphore UI 2.20 sunucuda veya runner'da yerel yürütücüyle Ansible set_stats değerlerini, Terraform/OpenTofu/Terragrunt çıktılarını ve Bash, PowerShell veya Python'dan JSON toplar. Docker ve Kubernetes görev yürütücüleri bu iş akışı çıktılarını üretmez. Alıcı şablon girdiyi tanımlar, playbook'u veya envanter yapılandırması da bu girdiyi yeni host'u hedeflemek için kullanır.

Hazırlanmış otomasyon şablonlarını bağlayan Semaphore UI görsel iş akışı.
Semaphore UI. Görsel iş akışı, hazırlanmış görev şablonlarını tekrarlanabilir bir sırada bağlar.
Paralel dalları, tamamlanan aşamaları ve seçili aşamanın ayrıntılarını gösteren Jenkins Pipeline Graph View.
Jenkins. Pipeline Graph View eklentisi aşamaları, paralel dalları ve seçilen aşamanın ayrıntılarını gösterir. Resmî örnek

Jenkins Shared Libraries, bakımı yapılan çok adımlı bir işlemi birçok Pipeline için paketleyebilir. Semaphore UI tek tek görev şablonlarını yeniden kullanırken her iş akışı aralarındaki bağlantıları tanımlar ve başka bir iş akışını tek düğüm olarak içeremez. Teslimat sırasının kendisinin merkezi olarak sürümlenmesi gerektiğinde Shared Libraries değerlidir. Dağıtım, teşhis ve kurtarma işlemleri görevleri farklı biçimlerde birleştiriyorsa bağımsız işlemleri yeniden kullanmak çoğu zaman yeterlidir.

Jenkins stash, unstash ve arşivlenmiş artifact'lar dosyaları taşır veya saklar. Semaphore UI iş akışı değerleri veri taşır, paketler ve kaydedilmiş Terraform planları ise yapılandırılmış depolama veya açık bir aktarım gerektirir. Derleme sürümü neyin alınacağını tanımlar, dosya deposu değildir. Sonraki adımların test edilen paketin veya onaylanan planın tam halini kullanması gerektiğinde bu ayrım önemlidir.

Erişim kontrolü ve oturum açma

Hazırlanmış işlemi çalıştıran kişi, onu değiştiren mühendis olmayabilir. Proje izinleri, daha dar yürütme yetkileri ve oturum açma kontrolleri bu yetki devrinin farklı parçalarını çözer.

DestekleniyorKısmen destekleniyorDesteklenmiyor
Erişim kontrolü ve oturum açma: Jenkins ve Semaphore UI
Ölçütler Semaphore UI Jenkins
Proje erişim kuralları Evet EvetYetkilendirme stratejisi
Job yönetimi olmadan çalıştırma EvetTask Runner EvetConfigure olmadan Build izni
Job düzeyinde izinler EvetEnterpriseŞablon izinleri EvetProje tabanlı yetkilendirme eklentisi
LDAP ile oturum açma EvetPro EvetLDAP eklentisi
OpenID Connect ile oturum açma EvetPro EvetOIDC eklentisi
Çok faktörlü kimlik doğrulama EvetProYerel TOTP veya kimlik sağlayıcısı EvetYapılandırılmış kimlik sağlayıcısı üzerinden

Jenkins kimlik doğrulamayı yetkilendirmeden ayırır. Matris ve proje tabanlı yetkilendirme stratejileri job'ı kimin yapılandırabileceğini ve kimin çalıştırabileceğini ayırabilir. Yöneticiler ilgili eklentileri ve izinleri kuruluşun kullandığı kimlik sistemiyle birleştirir.

Semaphore UI Community proje rolleriyle paylaşılan yürütmeyi zaten destekler. Owner ve Manager rolleri projeyi yönetirken Task Runner şablonlarını çalıştırabilir ve diğer proje kaynaklarına salt okunur erişime sahiptir. Böylece mühendislik ekibi her operatöre proje yöneticiliği vermeden işlemlerini paylaşabilir. Rol yalnızca seçilen tek işlemi değil, projenin şablonlarını kapsar.

Enterprise özel roller ve şablon düzeyinde yürütme izinleri ekler. Destek personelinin projedeki her şablon yerine belirli bir üretim yeniden başlatmasını çalıştırması gerekiyorsa yönetici Guest rolüyle başlayıp özel bir rol aracılığıyla o şablonda yürütme izni verebilir. Mühendis envanteri, kimlik bilgilerini ve başlatma seçeneklerini hazırlar. Bu, Semaphore UI içinde daha dar kapsamlı bir yetki devri modelidir. Jenkins ise yetkilendirme yapılandırmasıyla job düzeyinde yetki devri sağlayabilir.

Başlatma formu girdileri toplar, otomasyon ve izinler ise işlemin ne yapabileceğini belirler. Dar kapsamlı yeniden başlatmada playbook ve izin verilen geçersiz kılma seçenekleri amaçlanan hizmeti ve hedefleri korumalıdır. Şablon izinleri, kaynakların keyfî birleşimleri için bağımsız envanter veya kimlik bilgisi izinleri oluşturmaz.

Jenkins LDAP ve OpenID Connect'i security realm eklentileriyle ekler. Çok faktörlü kontroller seçilen kimlik sağlayıcısıyla uygulanabilir. Semaphore UI Pro yerel TOTP sunar ve LDAP ile OIDC'yi destekler. Merkezi kimlik, kimin giriş yaptığını doğrularken kişinin hangi işlemleri çalıştırabileceğini yine proje rolleri ve şablon izinleri belirler.

Gizli bilgiler

Operatör, başlatma girdilerine tekrar tekrar parola yapıştırmak yerine hazırlanmış bağlantıyı seçmelidir. Mevcut secret depoları bu bağlantıları job parametresine dönüşmeden sağlayabilir.

DestekleniyorKısmen destekleniyorDesteklenmiyor
Gizli bilgiler: Jenkins ve Semaphore UI
Ölçütler Semaphore UI Jenkins
Saklanan SSH anahtarları ve parolalar EvetKey Store EvetKimlik bilgisi deposu
Ansible Vault parolaları EvetŞablon kimlik bilgisi EvetAnsible eklentisi
HashiCorp Vault EvetPro EvetVault eklentisi
AWS Secrets Manager EvetEnterprise EvetCredentials Provider eklentisi
Azure Key Vault EvetEnterprise EvetAzure Key Vault eklentisi
Harici OpenBao secret'ları EvetProAnahtar deposu entegrasyonu EvetJob içinde yapılandırılan CLI ile alma
Devolutions Server kimlik bilgileri EvetEnterpriseAnahtar deposu entegrasyonu EvetJob içinde yapılandırılan kimlik bilgisi API çağrısı
CyberArk secret'ları EvetEnterprisePVWA REST API deposu EvetConjur Secrets eklentisi

Jenkins kimlik bilgilerini saklar ve derleme adımı entegrasyonları ile Pipeline bağlantıları üzerinden kullanıma sunar. Eklentiler job'ları HashiCorp Vault ve AWS Secrets Manager gibi hizmetlere de bağlar. Bu, teslimat pipeline'ları için zaten kimlik bilgisi ve eklenti yapılandırması yöneten ekiplere uygundur.

Semaphore UI anahtar deposu SSH anahtarlarını ve kullanıcı adı/parola kimlik bilgilerini, kullanıcı adı olmadan kullanılan parola veya erişim token'ları dahil, temsil eder. Depolar kodu almak için gereken kimlik bilgisini kullanırken Ansible envanteri host'ların giriş ve isteğe bağlı sudo kimlik bilgilerini seçer. Şablon ayrıca Ansible Vault parolasına başvurabilir. Operatör bu ayrı bağlantı ayrıntılarını çalıştırma formuna kopyalamak yerine hazırlanmış görevi başlatır.

Mevcut secret yönetim sistemleri kimlik bilgilerinin kaynağı olarak kalabilir. Semaphore UI Pro HashiCorp Vault ve OpenBao entegrasyonları ekler, Enterprise ise AWS Secrets Manager, Azure Key Vault ve Devolutions Server sunar. Jenkins benzer bağlantıları seçilen eklentilerle sağlar. Önce ekibin mevcut secret deposu ve kimlik doğrulama yöntemi karşılaştırılmalı, ardından eklentiyle yönetilen kurulumun mu yoksa desteklenen Semaphore UI entegrasyonunun mu daha uygun olduğuna karar verilmelidir.

Semaphore UI, OpenBao ve Devolutions Server için sırasıyla Pro ve Enterprise'da adlandırılmış anahtar deposu entegrasyonları sunar. Jenkins job'ları bir OpenBao değerini CLI üzerinden veya Devolutions Credentials girdisini API üzerinden alabilir. Ekip, kayıtlı anahtar deposu bağlantısını seçmek yerine kimlik doğrulama, alma ve ekleme işlemlerini job içinde yönetir. Mevcut secret deposu ve job kodu süreci zaten karşılıyorsa bu uygulanabilir bir yoldur.

Semaphore UI Enterprise CyberArk ile PVWA REST API üzerinden entegre olur. Jenkins, CyberArk'ın Conjur/Secrets Manager hizmeti için Conjur Secrets eklentisini sunar. Bunlar farklı CyberArk arayüzleri kullandığından entegrasyon ekibin kullandığı CyberArk hizmetiyle eşleşmelidir.

Günlükler ve denetim

Yama uygulama veya dağıtımdan sonra ekip hem yürütme sonuçlarına hem de işlemi kimin değiştirdiği ya da başlattığına ilişkin kayda ihtiyaç duyar. Bu kayıtlar farklı soruları yanıtlar.

DestekleniyorKısmen destekleniyorDesteklenmiyor
Günlükler ve denetim: Jenkins ve Semaphore UI
Ölçütler Semaphore UI Jenkins
Yürütme geçmişi ve loglar Evet Evet
Ansible sonuçlarının sunumu EvetProYerleşik host/görev özeti EvetYapılandırılmış Ansible JUnit callback ve rapor yayımlama
Yönetimsel denetim geçmişi EvetKayıt etkinleştirilir, yönetici görünümü EvetAudit Trail eklentisi
SIEM iletimi EvetProTLS Syslog veya Splunk HEC EvetAudit Trail Syslog veya Elasticsearch

Semaphore UI görev durumunu, başlatma ayrıntılarını, depo revizyonunu ve çıktıyı saklar. Pro entegre bir Ansible host/görev özeti ekleyerek filo çapındaki başarısız kontrolden etkilenen host'lara ulaşmayı kolaylaştırır. Jenkins konsol çıktısını ve yapılandırılmış raporlarını kullanır. Ansible JUnit callback ve JUnit eklentisi yapılandırılmış sonuçlar yayımlayabilir, ancak callback ve rapor yayımlama ayarı gerekir.

Semaphore UI, erişim incelemeleri ve olay araştırmaları için denetim kaydı etkinleştirildiğinde kimlik doğrulama, kaynak değişiklikleri ve görev etkinliğini kaydeder. Yönetici denetim görünümü tüm sürümlerde projeler arasıdır. Jenkins Audit Trail eklenti üzerinden yapılandırılmış istekleri, kimlik doğrulama olaylarını, derleme tetikleyicilerini ve kimlik bilgisi kullanımını kaydeder. Olay kalıpları ve hedefler ekibin ihtiyaç duyduğu etkinliğe göre yapılandırılır.

Semaphore UI Pro filtreleme, CSV veya JSONL dışa aktarma ve TLS Syslog veya Splunk HEC ile iletme ekler. Audit Trail Jenkins olaylarını Syslog veya Elasticsearch'e gönderebilir. Her ikisi de güvenlik bilgileri ve olay yönetimi (SIEM) sistemini besleyebilir, ancak olaylar ve kapsam sıradan job çıktısından farklıdır.

Entegrasyonlar

Bir sürüm yayınlama olayı veya izleme sistemi hazırlanmış işlemi başlatıp sonucunu ekibe iletebilir. Asıl karşılaştırılması gereken, bu bağlantının ne kadarının ürün içinde yapılandırıldığıdır.

DestekleniyorKısmen destekleniyorDesteklenmiyor
Entegrasyonlar: Jenkins ve Semaphore UI
Ölçütler Semaphore UI Jenkins
API ile job başlatma ve inceleme Evet Evet
Gelen webhook tetikleyicileri Evetİstek eşleştiricileri ve değer çıkarıcıları EvetGeneric Webhook Trigger eklentisi
Sohbet bildirimleri EvetSlack, Teams, Telegram ve diğer kanallar EvetBildirim eklentileri

Semaphore UI kimlik doğrulamalı görev API'si ve gelen entegrasyon endpoint'leri sunar. Eşleştiriciler isteği filtreler, çıkarıcılar ise başlık veya gövde alanlarını görev girdilerine eşler. Jenkins derleme ve job API'leri sağlar, Generic Webhook Trigger ise gelen olaylar için veri çıkarma ve filtreleme ekler. Böylece bir izleme uyarısı yeni kod commit'i olmadan hazırlanmış bir teşhis başlatabilir.

Semaphore UI e-posta, Slack, Microsoft Teams, Telegram, Rocket.Chat, DingTalk ve Gotify bildirim kanallarını içerir. Şablonlar ve proje uyarıları sonuçların nereye gideceğini seçer. Jenkins Slack Notification gibi bildirim eklentileriyle karşılık gelen bağlantıları sağlar. Bildirim bağlantısı ekip arkadaşlarının çalıştırmayı incelemesine yardım eder, ancak kendi başına sohbet içinden onay değildir.

Yapay zekâ destekli otomasyon

Bir kodlama asistanı, belgelenmiş API'leri, yapılandırma örneklerini ve ilgili çıktıyı kullanarak bir işlemi hazırlamaya veya başarısız bir çalıştırmayı incelemeye yardımcı olabilir.

DestekleniyorKısmen destekleniyorDesteklenmiyor
Yapay zekâ destekli otomasyon: Jenkins ve Semaphore UI
Ölçütler Semaphore UI Jenkins
MCP erişimi EvetTopluluk bağlayıcısı EvetMCP Server eklentisi

Her iki ürün de Claude Code ve Codex gibi asistanların yapılandırma hazırlarken veya job çıktısını incelerken başvurabileceği herkese açık dokümantasyon ve API'ler sunar. Jenkinsfile asistana sürümlenmiş pipeline tanımı verirken Semaphore UI API'si kayıtlı işlemi ve proje kaynaklarını gösterir. Bu, oluşturulan değişiklikleri otomatik olarak doğru kılmadan kurulum ve sorun gidermeye yardımcı olur.

Jenkins job ve derleme araçları için MCP Server eklentisi sunar. Semaphore UI'ın API'si için topluluk MCP bağlayıcısı vardır ve Pro için 2.21.0 sürümünde resmî MCP desteği duyurulmuştur. Bağlayıcının erişimi kendisine verilen hesap ve kimlik bilgilerine bağlı olduğundan asistana işleme uygun kapsam verilmelidir.

Lisanslama ve destek

Her iki ürün ücretsiz ve açık kaynaklı bir başlangıç sunar. Paylaşılan otomasyon hizmetinin maliyetine çevresindeki yazılımlar, yürütme makineleri ve yapılandırmayı sürdürmek için gereken iş de dahildir. Ücretli destek ve ticari yetenekler kararın ayrı parçalarıdır.

Açık kaynak ve ticari seçenekler

Jenkins çekirdeği MIT lisanslıdır ve topluluk projesinin lisans ücreti yoktur. Eklentilerin kendi lisansları ve bakım sorumluları vardır. Ekip controller'ı, agent'ları, Java çalışma zamanını ve seçilen entegrasyonları işletir. Ticari destek ayrı bir sağlayıcı veya ürün üzerinden alınabilir.

Semaphore UI Community de MIT lisanslıdır ve temel görev arayüzü, proje rolleri, zamanlamalar ve iş akışlarını içerir. Pro ve Enterprise aynı ürün ailesini ticari yetenekler ve üretici desteğiyle genişletir. Dolayısıyla ekip paylaşılan Ansible işlemleriyle başlayabilir ve bu job'lar için bütün bir uygulama teslimat platformu benimsemeden ihtiyaç duyduğu kontrolleri ekleyebilir.

Ücretli özellikler

Semaphore UI Pro burada ele alınan yerleşik Terraform/OpenTofu state depolama, proje runner'ları ve görev başına Docker yürütmesi gibi yetenekleri kapsar. Enterprise özel roller, şablon izinleri ve Kubernetes görev yürütmesi ekler. Pro mesai saatlerinde üretici desteği içerir. Enterprise ise özel destek taahhütleri ve başlangıç, yapılandırma, yükseltme ve geçiş yardımı sunar. Her iki ürünün topluluk yardımını destek SLA'sı varsaymak yerine bu kapsam mevcut Jenkins destek anlaşmasının koşullarıyla karşılaştırılmalıdır.

Bakım ve sorumluluk

Jenkins'i ağırlıklı olarak playbook ve bakım komutlarını erişime açmak için kullanan ekipte Semaphore UI, özel job ayarlarının yerini envanter, kimlik bilgisi, değişken ve şablon modeliyle alabilir. Operasyonel fayda gerçekten değiştirdiği yapılandırma ve entegrasyonlardan gelir. Buna karşılık Jenkins gerekli job'ları, agent'ları, raporları ve desteği zaten sağlıyorsa ikinci hizmet ek iş yaratır. Semaphore UI ekibin kullandığı job ve kontrolleri kapsadığında değiştirme pratiktir. Jenkins'e özgü raporlar, artifact yönetimi veya Shared Libraries vazgeçilmez olduğunda ise bu pipeline'lar Jenkins'te kalırken seçilen işlemler taşınabilir.

Semaphore UI Ansible şablonunu ve envanter ayarlarını ürün içinde sunar, secret deposu ve konteyner entegrasyonları ilgili sürümle sağlanır. Jenkins karşılık gelen entegrasyonları, bağımlılıkları ve güncellemeleri controller ile birlikte yönetilen eklentiler üzerinden sunar. Bu, ekibin sürdürdüğü entegrasyon işini değiştirir. Her ikisi de yürütme makinelerinde kullanılan otomasyon araçlarına ve çalışma zamanlarına ihtiyaç duyar.

Nasıl seçmeli?

Seçim, ekip arkadaşlarının yaptığı iş ve ekibin yönetmek istediği yapılandırmaya dayanmalıdır. Hiçbiri tek tetikleyici veya tek otomasyon diliyle sınırlı değildir. En güçlü kullanım alanlarını çevrelerindeki operasyon modeli belirler.

Jenkins ne zaman seçilmeli?

Entegre test raporlaması, artifact yönetimi ve paylaşılan çok aşamalı Pipeline kodu sürecin merkezindeyse Jenkins uygundur.

  • Sonraki adımı derleme çıktıları ve test kanıtları belirler. Süreç kodu derler, test matrisini çalıştırır, raporlar üretir ve artifact'ları aşamalar arasında taşır.
  • Birçok proje teslimat mantığını kodda paylaşır. Jenkinsfile'lar ve Shared Libraries, ekibin bu sıraları inceleyip yönetmek için kullandığı yerleşik yöntemdir.
  • Mevcut kurulum operasyon ihtiyacını karşılar. Job'lar, agent'lar, eklentiler ve yetkilendirme, onları çalıştıran kişiler için zaten etkili bir arayüz sunar.

Semaphore UI ne zaman seçilmeli?

Hizmetin ana işi altyapı işlemlerini yeniden kullanılabilir kılmak ve ekibe sunmaksa Semaphore UI uygundur.

  • Ansible günlük operasyonların parçasıdır. Yama uygulama, sertifika kontrolü ve hizmet kurtarma aynı envanterleri, host kimlik bilgilerini ve ortak ortam yapılandırmasını yeniden kullanır.
  • Ekip arkadaşlarının hazırlanmış eylemlere ihtiyacı vardır. Mühendisler kodu ve görev şablonlarını yönetir, operatörler ise formlar veya zamanlamalarla işlemleri başlatır. Proje rolleri bu temel ayrımı sağlar, daha dar yetki devri için Enterprise şablon izinleri kullanılabilir.
  • Arayüzde araca özel yapılandırma tercih edilir. Ansible, Terraform/OpenTofu, Terragrunt, Bash, PowerShell ve Python işlemleri özel şablonlarla, ortak envanterler, kimlik bilgileri ve değişken grupları kullanılarak hazırlanır.
  • Kurulumun kapsamı odaklı kalmalıdır. İkili dosya veya paket mevcut sunucuda çalışabilir, runner'lar diğer ağlara ulaşır ve Pro paylaşılan Terraform/OpenTofu state backend sağlayabilir.

Semaphore UI ile Jenkins'i birlikte kullanma

Bir sürüm Jenkins'te derleme, test ve artifact yayımlamayla başlayabilir. Pipeline daha sonra kimlik doğrulamalı görev API'si üzerinden hazırlanmış bir Semaphore UI dağıtım şablonuna imaj digest'i veya sürümlenmiş paket referansı iletir. Semaphore UI yapılandırılmış deposunu, envanterini ve kimlik bilgilerini kullanır ve işlemi uygun yürütme makinesine gönderir. Dağıtım otomasyonu artifact'ı ekibin kullandığı registry veya depodan alır.

Jenkins entegrasyonu döndürülen görev kimliğini kaydetmeli, son durumunu kontrol etmeli ve pipeline'ın başarılı mı başarısız mı olduğuna karar vermelidir. API isteğinin kabul edilmesi görevin kuyruğa alındığını gösterir, dağıtımın başarılı olduğunu değil. Yerleşik gelen webhook alıcısı başka bir tetikleme seçeneğidir. Tamamlanma bildirimi ve pipeline başarı/hata mantığı yine ekibin uyguladığı entegrasyonun parçasıdır.

Dağıtımdan sonra aynı operasyon ekibi Semaphore UI'da formdan hizmet yeniden başlatabilir veya sertifika kontrolünü gece zamanlamasında bırakabilir. Bu job'lar yeni uygulama commit'i gerektirmeden hazırlanmış altyapı yapılandırmasını kullanır, Jenkins ise derleme ve test kanıtlarını yönetmeye devam eder.

Sık sorulan sorular

Mevcut Ansible ve Terraform otomasyonu yeniden kullanılabilir mi?

Evet. Jenkins job'ları ve Pipeline'ları bu araçları çalıştırabilir, Ansible eklentisi playbook, envanter ve kimlik bilgisi ayarlarını sağlar. Semaphore UI yeniden kullanılabilir envanterlere, kimlik bilgilerine, değişken gruplarına ve başlatma formlarına bağlı araca özel şablonlar kullanır. Ekip işlemi iki modelden birinde hazırlarken mevcut kod Git deposunda kalabilir.

Ekip arkadaşları Enterprise olmadan Semaphore UI görevlerini çalıştırabilir mi?

Evet. Community proje rolleri, projedeki şablonları çalıştırabilen ve diğer proje kaynaklarına salt okunur erişimi olan Task Runner rolünü içerir. Daha dar erişim gerektiğinde Enterprise özel roller ve tek tek şablonlar için izinler ekler.

Bakım yeni commit'ten bağımsız çalışabilir mi?

Evet, her iki üründe de. Jenkins elle başlatılan derlemeleri ve zamanlanmış job'ları destekler. Semaphore UI hazırlanmış envanter, kimlik bilgileri ve değişkenlerle elle görev şablonu başlatmayı, cron zamanlamalarını ve tek seferlik çalıştırmaları destekler.

Semaphore UI bir Jenkins pipeline'ının yerini alabilir mi?

Desteklediği araçlarla uygulanan kaynak sağlama, dağıtım ve bakım işlemlerini karşılayabilir. Rapor eklentileri, artifact yönetimi ve Shared Libraries dahil Jenkins'e özgü gereksinimler bilinçli olarak korunmalı veya değiştirilmelidir. Ayrı bir Semaphore UI işlemi mevcut Pipeline tarafından da çağrılabilir.

Otomasyon özel ağ içinde çalışabilir mi?

Her ikisinde de çalışabilir. Jenkins agent'lar kullanır, Semaphore UI ise sunucusunda veya runner'larda çalışır. Yürütme makineleri özel sistemlerin yakınına yerleştirilebilir ve gerekli araçlar seçilen çalışma ortamında bulunmalıdır.

Bu makale yararlı oldu mu?

Kaynaklar

  1. Semaphore UI, “Semaphore UI build and deploy templates”. URL: https://semaphoreui.com/docs/user-guide/task-templates/build-deploy (erişim tarihi: ).
  2. Semaphore UI, “Semaphore UI automation applications”. URL: https://semaphoreui.com/docs/user-guide/apps (erişim tarihi: ).
  3. Semaphore UI, “Semaphore UI task templates”. URL: https://semaphoreui.com/docs/user-guide/task-templates (erişim tarihi: ).
  4. Semaphore UI, “Semaphore UI installation methods”. URL: https://semaphoreui.com/docs/admin-guide/installation (erişim tarihi: ).
  5. Semaphore UI, “Semaphore UI runners”. URL: https://semaphoreui.com/docs/admin-guide/runners (erişim tarihi: ).
  6. Semaphore UI, “Semaphore UI workflow nodes and data passing”. URL: https://semaphoreui.com/docs/user-guide/workflows (erişim tarihi: ).
  7. Semaphore UI, “Semaphore UI Terraform HTTP backend”. URL: https://semaphoreui.com/docs/user-guide/apps/terraform/states (erişim tarihi: ).
  8. Semaphore UI, “Semaphore UI project roles and template permissions”. URL: https://semaphoreui.com/docs/user-guide/team (erişim tarihi: ).
  9. Semaphore UI, “Semaphore UI Key Store”. URL: https://semaphoreui.com/docs/user-guide/key-store (erişim tarihi: ).
  10. Semaphore UI, “Semaphore UI Variable Groups”. URL: https://semaphoreui.com/docs/user-guide/environment (erişim tarihi: ).
  11. Semaphore UI, “Semaphore UI schedules”. URL: https://semaphoreui.com/docs/user-guide/schedules (erişim tarihi: ).
  12. Semaphore UI, “Semaphore UI webhook integrations”. URL: https://semaphoreui.com/docs/user-guide/integrations (erişim tarihi: ).
  13. Semaphore UI, “Semaphore UI Community, Pro and Enterprise”. URL: https://semaphoreui.com/pricing (erişim tarihi: ).
  14. Semaphore UI, “Semaphore UI inventories”. URL: https://semaphoreui.com/docs/user-guide/inventory (erişim tarihi: ).
  15. Semaphore UI, “Semaphore UI 2.20 candidate Terraform execution”. URL: https://github.com/semaphoreui/semaphore/blob/58a596ed20b724af67c468588edcda12d1779549/db_lib/TerraformApp.go (erişim tarihi: ).
  16. Semaphore UI, “Semaphore UI 2.20 candidate runner output handling”. URL: https://github.com/semaphoreui/semaphore/blob/58a596ed20b724af67c468588edcda12d1779549/services/runners/job_pool.go (erişim tarihi: ).
  17. Jenkins project, “Jenkins downloads and release lines”. URL: https://www.jenkins.io/download/ (erişim tarihi: ).
  18. Jenkins project, “Installing Jenkins”. URL: https://www.jenkins.io/doc/book/installing/ (erişim tarihi: ).
  19. Jenkins project, “Using a Jenkinsfile”. URL: https://www.jenkins.io/doc/book/pipeline/jenkinsfile/ (erişim tarihi: ).
  20. Jenkins project, “Pipeline Nodes and Processes”. URL: https://www.jenkins.io/doc/pipeline/steps/workflow-durable-task-step/ (erişim tarihi: ).
  21. Jenkins Ansible plugin contributors, “Ansible plugin”. URL: https://plugins.jenkins.io/ansible/ (erişim tarihi: ).
  22. Jenkins project, “Pipeline Syntax”. URL: https://www.jenkins.io/doc/book/pipeline/syntax/ (erişim tarihi: ).
  23. Jenkins project, “Extending with Shared Libraries”. URL: https://www.jenkins.io/doc/book/pipeline/shared-libraries/ (erişim tarihi: ).
  24. Jenkins project, “Pipeline Input Step”. URL: https://www.jenkins.io/doc/pipeline/steps/pipeline-input-step/ (erişim tarihi: ).
  25. Jenkins project, “Pipeline Basic Steps”. URL: https://www.jenkins.io/doc/pipeline/steps/workflow-basic-steps/ (erişim tarihi: ).
  26. Jenkins project, “Using Jenkins agents”. URL: https://www.jenkins.io/doc/book/using/using-agents/ (erişim tarihi: ).
  27. Jenkins project, “Using Docker with Pipeline”. URL: https://www.jenkins.io/doc/book/pipeline/docker/ (erişim tarihi: ).
  28. Jenkins project, “Using credentials”. URL: https://www.jenkins.io/doc/book/using/using-credentials/ (erişim tarihi: ).
  29. Jenkins project, “Jenkins Access Control”. URL: https://www.jenkins.io/doc/book/security/access-control/ (erişim tarihi: ).
  30. Jenkins project, “Managing Plugins”. URL: https://www.jenkins.io/doc/book/managing/plugins/ (erişim tarihi: ).
  31. Jenkins project, “Jenkins Project Governance and license”. URL: https://www.jenkins.io/project/governance/ (erişim tarihi: ).
  32. Jenkins Matrix Authorization contributors, “Jenkins Matrix Authorization Strategy”. URL: https://plugins.jenkins.io/matrix-auth/ (erişim tarihi: ).
  33. Jenkins JUnit plugin contributors, “JUnit plugin”. URL: https://plugins.jenkins.io/junit/ (erişim tarihi: ).
  34. Jenkins HashiCorp Vault plugin contributors, “HashiCorp Vault plugin”. URL: https://plugins.jenkins.io/hashicorp-vault-plugin/ (erişim tarihi: ).
  35. Jenkins AWS Secrets Manager plugin contributors, “AWS Secrets Manager Credentials Provider”. URL: https://plugins.jenkins.io/aws-secrets-manager-credentials-provider/ (erişim tarihi: ).
  36. Jenkins project, “Getting started with Pipeline”. URL: https://www.jenkins.io/doc/book/pipeline/getting-started/ (erişim tarihi: ).
  37. Stefan Spieker, Jenkins project, “Plugin of the Month – April 2026: Pipeline Graph View”. URL: https://www.jenkins.io/blog/2026/04/06/plugin-of-the-month/ (erişim tarihi: ).
  38. Semaphore UI, “Semaphore UI REST API, task creation and task status”. URL: https://semaphoreui.com/api-docs (erişim tarihi: ).
  39. Semaphore UI, “Tasks, execution history and Ansible summaries”. URL: https://semaphoreui.com/docs/user-guide/tasks (erişim tarihi: ).
  40. Semaphore UI, “Get Started, installation methods and server platforms”. URL: https://semaphoreui.com/docs/getting-started (erişim tarihi: ).
  41. Jenkins Kubernetes plugin contributors, “Kubernetes plugin, agents in job pods”. URL: https://plugins.jenkins.io/kubernetes/ (erişim tarihi: ).
  42. Jenkins Config File Provider contributors, “Config File Provider, reusable managed configuration”. URL: https://plugins.jenkins.io/config-file-provider/ (erişim tarihi: ).
  43. Jenkins Terraform plugin contributors, “Terraform plugin, job workspace and local state file”. URL: https://plugins.jenkins.io/terraform/ (erişim tarihi: ).
  44. Ansible project, “JUnit callback, structured playbook result reports”. URL: https://docs.ansible.com/projects/ansible/latest/collections/ansible/builtin/junit_callback.html (erişim tarihi: ).
  45. Semaphore UI, “Semaphore UI authentication”. URL: https://semaphoreui.com/docs/admin-guide/authentication (erişim tarihi: ).
  46. Jenkins project and plugin contributors, “LDAP authentication plugin”. URL: https://plugins.jenkins.io/ldap/ (erişim tarihi: ).
  47. Jenkins project and plugin contributors, “OpenID Connect Authentication plugin”. URL: https://plugins.jenkins.io/oic-auth/ (erişim tarihi: ).
  48. Jenkins project and plugin contributors, “Azure Key Vault plugin”. URL: https://plugins.jenkins.io/azure-keyvault/ (erişim tarihi: ).
  49. Semaphore UI, “Semaphore UI audit history, export and SIEM forwarding”. URL: https://semaphoreui.com/docs/admin-guide/audit-log (erişim tarihi: ).
  50. Jenkins project and plugin contributors, “Audit Trail plugin and external log destinations”. URL: https://plugins.jenkins.io/audit-trail/ (erişim tarihi: ).
  51. Semaphore UI, “Semaphore UI notification channels”. URL: https://semaphoreui.com/docs/admin-guide/notifications (erişim tarihi: ).
  52. Jenkins project and plugin contributors, “Jenkins Remote Access API”. URL: https://www.jenkins.io/doc/book/using/remote-access-api/ (erişim tarihi: ).
  53. Jenkins project and plugin contributors, “Generic Webhook Trigger plugin”. URL: https://plugins.jenkins.io/generic-webhook-trigger/ (erişim tarihi: ).
  54. Jenkins project and plugin contributors, “Slack Notification plugin”. URL: https://plugins.jenkins.io/slack/ (erişim tarihi: ).
  55. Community connector contributors, “Community MCP connector for Semaphore UI”. URL: https://github.com/cloin/semaphore-mcp (erişim tarihi: ).
  56. Jenkins project and plugin contributors, “Jenkins MCP Server plugin”. URL: https://plugins.jenkins.io/mcp-server/ (erişim tarihi: ).
  57. OpenBao project, “OpenBao CLI, read a secret”. URL: https://openbao.org/docs/commands/kv/get/ (erişim tarihi: ).
  58. Devolutions, “Devolutions Server REST API, credential retrieval”. URL: https://docs.devolutions.net/server/web-interface/utilities/api-documentation (erişim tarihi: ).
  59. Semaphore UI, “Semaphore UI CyberArk PVWA secret storage”. URL: https://semaphoreui.com/docs/user-guide/key-store/cyberark (erişim tarihi: ).
  60. Jenkins Conjur plugin contributors, “Jenkins Conjur Secrets plugin”. URL: https://plugins.jenkins.io/conjur-credentials/ (erişim tarihi: ).
  61. Jenkins project, “Jenkins access control for builds”. URL: https://www.jenkins.io/doc/book/security/build-authorization/ (erişim tarihi: ).
  62. Jenkins project, “Blue Ocean Pipeline Editor and deprecation status”. URL: https://www.jenkins.io/doc/book/blueocean/pipeline-editor/ (erişim tarihi: ).
  63. Jenkins project, “Jenkins persistent objects and filesystem storage”. URL: https://www.jenkins.io/doc/developer/persistence/ (erişim tarihi: ).

Bu karşılaştırma yukarıda listelenen dokümantasyon, depolar ve ürün bilgileri kullanılarak Semaphore UI ekibi tarafından hazırlanmıştır. Her kaynak için erişim tarihi kaydedilmiştir.