在工作区

时间:2016-04-06 15:33:42

标签: jenkins jenkins-plugins dsl jenkins-build-flow

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

/home/flows/flow_script.dsl

我收到以下错误:

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

路径是正确的,我可以通过shell中的路径查看文件,但它不允许我选择" build workspace"之外的任何内容。 apparetly。

1 个答案:

答案 0 :(得分:1)

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

我的解决方法很糟糕,但它确实有效:在“处理作业DSL”步骤之前添加一个执行Shell步骤,将外部目录符号链接到工作区。

这样的事情:

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

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

当然还有一些额外的注意事项:jenkins用户需要访问您要进行符号链接的目录。它可能违反了许多最佳实践。