🔐 Environment & Credentials
Environment & Credentials: Bir Jenkins `environment` bloğu, bir kuryeye verilmiş mühürlü bir zarf gibidir: kurye (pipeline) zarfın içindekini — bir şifre, bir API token'ı — tesli
Bir Jenkins `environment` bloğu, bir kuryeye verilmiş mühürlü bir zarf gibidir: kurye (pipeline) zarfın içindekini — bir şifre, bir API token'ı — teslimatı tamamlamak için kullanabilir, ama zarfı açıp içeriğini yüksek sesle okuyamaz, çünkü Jenkins bir credential değeri console log'da görünmek üzereyken onu otomatik olarak maskeler. Düşündürücü soru şu: `sh 'echo $DB_CREDS_PSW'` çalıştırırsan şifreyi zaten düz metin olarak log'a yazdırmış olmaz mısın, peki bütün maskeleme mekanizması neden tek bir dikkatsiz satırla çökmüyor? Tam olarak değil — Jenkins ham çıktıyı log'a yazılmadan ÖNCE tarar ve bilinen bir credential değerine uyan her alt-diziyi **** ile değiştirir; tam da bu yüzden bir secret'ı parçalardan elle birleştirmemelisin. Java benzetmesi: bu, içinde şifre geçebilecek bir `getMessage()` barındıran ham bir `Exception`'ı asla loglamamakla aynı disiplindir — maskeleme sink'te (log'un kendisinde) olmalı, her çağıranın onu yazdırmamayı hatırlamasına güvenerek değil. Gerçek QA işinde, herkese açık bir Jenkins console log'unda sızan bir database credential'ı — job'a okuma erişimi olan herkese görünür — gerçek production incident'larına yol açmıştır; `credentials()` bağlama mekanizması tam olarak bu yüzden var: bir QA automation mühendisinin Jenkinsfile'a hiçbir zaman ham bir şifre yapıştırmasına gerek kalmasın diye.
Environment Variable Kullanımı
Değişkenler ve credential kullanımı
Micro Lab: Jenkinsfile pipeline stage tamamlama
TODO satirini beklenen cozumdeki kritik satirla degistir. Bu gercek runtime degil; amac dogru yapinin yazilmasini kontrollu olarak pekistirmek.
Adim Adim: Jenkinsfile pipeline stage tamamlama
pipeline ve agent ile calisma yerini sec
checkout ile kaynak kodu al
build/dependency stageini calistir
test stageinde kanit uret
post always icinde rapor ve bildirim yayinla
Jenkinsfile kalite kapisi akisini sirala.
Koşullu Stage'ler (when directive)
Sadece main branch'te deploy et, production için onay iste