Я использую общую библиотеку Jenkins , и мой файл Jenkins имеет такую стадию:
stage('sonarqube') {
when { branch 'master' }
steps {
generateUnitTestsReport()
}
}
Я хочу, чтобы репозитории программистов были чистыми от сценариев, которые создают различные отчеты, поэтому моя идея состоит в том, чтобы сохранить определения сценариев в общей библиотеке, а затем, во время выполнения шага, создать файл с содержимым.
Например (файл generateUnitTestsReport.groovy
в общей библиотеке):
def call(){
def SCRIPT_CONTENT = '''
#!/bin/bash
#SCRIPT CONTENT
'''
sh '''echo''' +SCRIPT_CONTENT+ ''' > ut-report.sh'''
sh 'chmod +x ./ut-report.sh'
}
но так не работает. Я также пробовал Groovy s new File
, но и там не повезло. Как это можно было сделать (обратите внимание, что это подчиненный узел Jenkins)?