5

Wygląda na to, że możesz teraz mieć tylko jeden plik Jenkinsfile w jednym miejscu w projekcie, gdy używasz trybu Multibranch.Jenkins Workflow Multibranch pozwala na określenie ścieżki Jenkinsfile

Czy istnieje sposób konfiguracji, aby móc umieścić plik Jenkinsf gdzie indziej niż w katalogu głównym projektu pod nazwą Jenkinsfile. Jest nadzieja, ponieważ istnieje opcja Fixed Configuration, może jest to funkcja na przyszłość, ale byłbym wdzięczny za opcję, ponieważ w obecnej sytuacji nie mam możliwości uruchomienia wszystkiego jako jednego ładnie skompilowanego potoku ze względu na rozmiar repo. Myślę o wielu zadaniach Jenkins przeciwko temu samemu repozytorium.

- Marcus

Odpowiedz

1

Myślę, że mam podobny problem.

To, co możesz zrobić, to przechowywać inny plik "potoku" w innym miejscu. Może to być w tym samym miejscu kasie lub innego zamówienia razem.

W tym pliku możesz zdefiniować metody i zamknąć za pomocą "return this", aby uruchamiający się plik Jenkins mógł korzystać z drugiego skryptu. Przykład:

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; 

W Jenkinsfile można następnie wykonaj następujące czynności:

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

oparte na dowolnym układzie zmiennych środowiskowych można załadować różne pliki. Mam nadzieję, że to pomoże.

Powiązane problemy