5

Artık, Çokbaytlı türü kullanırken, projenizde tek bir konumda yalnızca bir Jenkins dosyası olabilir.Jenkins İş Akışı Çok Kanallı, Jenkinsfile yolunun belirtilmesine izin veriyor

Jenkinsfile'ı projenin kökünden Jenkinsfile adı altında başka bir yere yerleştirebilmem için yapılandırmanın bir yolu var mı? Umarım, Sabit Konfigürasyon seçeneğinin olması gibi, belki de bu gelecek için bir özelliktir, ama şu anki durumumda olduğu gibi ben de herşeyi güzel bir şekilde derlenmiş bir boru hattı olarak çalıştırmak için seçeneğim olmadığı için seçeneği çok takdir ediyorum. Repo büyüklüğü. Aynı depoya karşı birden fazla Jenkins işine sahip olmayı düşünüyorum.

- Marcus

cevap

1

Ben benzer bir sorunla karşılaştık düşünüyorum.

Yapabilecekleriniz başka bir yerde depolanmış farklı bir "boru hattı" dosyasına sahip olmaktır. Bu, aynı checkout konumunda veya birlikte farklı bir checkout'ta olabilir.

Bu dosyada yöntemleri tanımlayabilirsiniz ve "bunu döndür" ile kapatmak gerekir, böylece başlayacak Jenkinsfile ikinci komut dosyasını kullanabilir. Örnek: Sonra aşağıdakileri yapabilirsiniz

def initialize(){ 
    wrap([$class: 'BuildUser']) { 
     env.buildUserName = "$env.BUILD_USER" 
     env.buildUserId = "$env.BUILD_USER_ID" 
     env.buildUserEmail = "$env.BUILD_USER_EMAIL" 
    } 
} 
// Has to exist with 'return this;' in order to be used as library 
return this; 

Jenkinsfile In: Herhangi ortam değişkenleri dayanarak

def steps 
node { 
    steps = load 'MyJenkinsPipelineScript.groovy' 
    steps.initialize() 
} 

farklı dosyaları yükleyebilirsiniz. Umarım bu yardımcı olur.