依赖于 Jenkins 作业 dsl 脚本中的其他文件
Depend on other files from Jenkins job dsl script
我的工作 dsl 文件中有一些大型 bash 脚本,我声明为
String script = '''
# large script
'''
并从 shell
方法中调用它
shell(script)
不过,我想将脚本分解为 shell 个文件。我试着声明
String script = new File('script.sh').text
但是执行 jenkins 作业 dsl 脚本的作业似乎没有找到该文件,事实上我什至不确定它是从哪个位置执行的。
使用 readFileFromWorkspace 从作业工作区读取文件的内容。
路径是相对于工作区根指定的。
上面链接的 API 文档中的第二个示例是针对批处理文件的,但是将批处理替换为 shell 并且您有针对您的情况的解决方案。
def runScript = readFileFromWorkspace('script.sh')
job('example-2') {
steps {
shell(runScript)
}
}
我的工作 dsl 文件中有一些大型 bash 脚本,我声明为
String script = '''
# large script
'''
并从 shell
方法中调用它
shell(script)
不过,我想将脚本分解为 shell 个文件。我试着声明
String script = new File('script.sh').text
但是执行 jenkins 作业 dsl 脚本的作业似乎没有找到该文件,事实上我什至不确定它是从哪个位置执行的。
使用 readFileFromWorkspace 从作业工作区读取文件的内容。
路径是相对于工作区根指定的。
上面链接的 API 文档中的第二个示例是针对批处理文件的,但是将批处理替换为 shell 并且您有针对您的情况的解决方案。
def runScript = readFileFromWorkspace('script.sh')
job('example-2') {
steps {
shell(runScript)
}
}