Önceki makalede, Jenkins işlem hattında paralel olarak yürütülen işlerin sayısının nasıl kontrol edileceğinden bahsetmiştim. Harika komut dosyası kullanılıyor.
İş yapılandırmasında, harika sanal alan kullan seçeneği kontrol edilemez, aksi takdirde yürütme yanlış olacaktır.
Bu harika korumalı alanın rolüne göz atın:
İşaretliyse, bu harika komut dosyasını sınırlı yeteneklere sahip bir sanal alanda çalıştırın. İşaretlenmemişse ve bir Jenkins yöneticisi değilseniz, bir yöneticinin komut dosyasını onaylamasını beklemeniz gerekecektir.
Kısacası, bu sandbox, groovy'nin yürütme izinlerini kısıtlamak için kullanılan groovy uygulayıcısının sanal alanıdır. Bu sanal alanda çalıştırılan harika komut dosyaları kısıtlanmıştır Örneğin, bu koddaki LinkedBlockingDeque'in yürütülmesine izin verilmez.
Bu harika korumalı alanı seçerseniz, bu komut dosyasının yürütülmesi başarısız olur.
İstemi hata mesajı:
Komut dosyalarının yeni java.util.concurrent.LinkedBlockingDeque int kullanmasına izin verilmiyor. Yöneticiler bu imzayı onaylayıp onaylamamaya karar verebilir.
Hata mesajından, yürütme yetkisinin sınırlı olduğunu bilebiliriz.
Öyleyse bu kısıtlamanın nasıl iptal edileceği, 3 yöntem vardır:
İzin verilen komut dosyası güvenlik eklentisini yükleyin, https://wiki.jenkins.io/display/JENKINS/Permissive+Script+Security+Plugin
Harika sanal alan kullan seçeneğinin işaretini kaldırın, ancak jenkins dosyasında bu seçilemez
İşlem içi komut dosyası onayını yapılandırın
Bu üçüncü yöntemden bahsedelim.
Jenkins'te > Kostümleri yönet > İşlem içi Komut Dosyası Onayı, komut dosyası yürütme izinlerini yapılandırabilirsiniz. Aşağıda gösterildiği gibi:
Yürütme yetkilisi tarafından kısıtlanan bir işlem varsa, bu arayüzde size sorulacak ve işlemi kabul etmek için onayla düğmesine tıklayabilirsiniz. Bu şekilde, gelecekte yürütme izni olmayacak.
Aşağıdaki şekilde gösterildiği gibi istenen işlem yürütüldüğünde, işi tekrar yürütün ve normal şekilde yürütülebilir.
İş teklifleri