Jenkins 在工作区之外构建
我是 Jenkins/Hudson 的新手,正在尝试从 buildbot 迁移基于 C make 的项目。由于遗留原因,构建系统被硬编码为在版本化源代码树 (git) 之外(即上面的一个目录)的单独目录中构建。例如:
workspace
.git
foo
bar
build
artifacts
除了最终在工作区之外创建一个目录这一事实之外,Jenkins 不会识别上面的 build/ 目录中的项目来存档为工件。
我怎样才能让这种构建系统与 Hudson 一起工作?构建源代码树并不是一个短期选择。我发现的唯一选项是“使用自定义工作区”,但所有这些都会将工作区目录硬编码到其他目录。
I am new to Jenkins/Hudson and am trying to migrate a C make-based project from buildbot. For legacy reasons, the build system is hard-coded to build outside of the versioned source tree (git), one directory above, in a separate directory. E.g.:
workspace
.git
foo
bar
build
artifacts
Besides the fact that it ends up creating a directory outside the workspace, Jenkins won't recognize items in the build/ directory above to archive as artifacts.
How can I make this kind of build system work with Hudson? Building in-source-tree is not a short-term option. The only option I found was "use custom workspace," but all this does it hard-code the workspace directory to some other directory.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
回答我自己的问题:Jenkins git 插件中确实有一个选项可以签出到本地子目录而不是工作区的根目录。使用 git 插件,单击“高级”按钮并填写“Repo 的本地子目录(可选)”字段。
To answer my own question: there is indeed an option in Jenkins git plugin to check out to a local subdirectory instead of the root of the workspace. With the git plugin, click on the Advanced button and fill in the field "Local subdirectory for repo (optional)".
我没有找到 djs 提到的选项,但您可以指定不同的工作目录:
这可以设置为您想要的任何位置,也可以设置为工作空间不同的工作。
I don't find the option that djs mentioned, but you can specify a different work directory:
This can be set to everywhere you want, also the workspace of a different job.