gpt4 book ai didi

jenkins - 从 Jenkins 工作区外的文件中读取 DSL

转载 作者:行者123 更新时间:2023-12-04 00:30:50 25 4
gpt4 key购买 nike

我知道可以从外部源运行 .dsl 文件,而不仅仅是在作业描述中编写流程代码,但每次我尝试运行时,让我们说:

/home/flows/flow_script.dsl

我收到以下错误:

java.io.FileNotFoundException:/home/flows/flow_script.dsl (No such file or directory)

路径是正确的,我可以从 shell 通过该路径看到文件,但它不允许我选择“构建工作区”之外的任何内容。

最佳答案

我最近遇到了这个问题:我的 DSL 脚本在我的工作区之外(通过包安装)。问题是 DSL 脚本路径是一种 Ant 格式,只允许特定模式(而不是绝对路径)。

我的解决方法是 hacky,但它确实有效:在将外部目录符号链接(symbolic link)到工作区的“Process Job DSL”步骤之前添加一个 Execute Shell 步骤。

像这样:

echo "Creating a symlink from /home/flows to workspace"
ln -sf "/home/flows" .flows

然后您可以将 DSL 脚本路径设置为“.flows/flow_script.dsl”。

当然,这还有一些额外的注意事项:您从中建立符号链接(symbolic link)的目录需要 jenkins 用户可以访问。而且它可能违反了很多最佳实践。

关于jenkins - 从 Jenkins 工作区外的文件中读取 DSL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36455761/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com