🔐 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