Jenkins 要始终在父工作区中运行的子作业

Jenkins 要始终在父工作区中运行的子作业,jenkins,jenkins-plugins,Jenkins,Jenkins Plugins,我有3份不同的父母工作和1份子女工作。由于父作业和子作业共享同一个工作区,我不希望在运行子作业和子作业以使用与父作业相同的工作区时再次生成代码。 我尝试在这个插件中使用,但是我们需要定义不同的工作空间,并且必须在我的子作业中相应地更改我的工作空间。我不希望每次运行不同的父作业时都手动更改子作业中的工作区。 在Jenkins中,是否有任何方法可以始终让子工作区从父工作区中拉出?只需在子工作区中定义一个名为“workspace\u Home”的参数,然后使用-add预定义参数将其从父工作区发送给子工

我有3份不同的父母工作和1份子女工作。由于父作业和子作业共享同一个工作区,我不希望在运行子作业和子作业以使用与父作业相同的工作区时再次生成代码。 我尝试在这个插件中使用,但是我们需要定义不同的工作空间,并且必须在我的子作业中相应地更改我的工作空间。我不希望每次运行不同的父作业时都手动更改子作业中的工作区。
在Jenkins中,是否有任何方法可以始终让子工作区从父工作区中拉出?

只需在子工作区中定义一个名为“workspace\u Home”的参数,然后使用-add预定义参数将其从父工作区发送给子工作区:

Workspace_Home=$WORKSPACE
在子级中,您可以将作业配置为在自定义工作区下运行(在配置作业-->高级(SCM之前)部分中),添加参数${workspace\u Home},就这样

只要确保在触发作业时指定“在同一节点上运行”,以便它在同一从机上运行即可


祝您好运!

只需在子作业中定义一个名为“Workspace\u Home”的参数,然后使用-add预定义参数将其从父作业发送到子作业:

Workspace_Home=$WORKSPACE
在子级中,您可以将作业配置为在自定义工作区下运行(在配置作业-->高级(SCM之前)部分中),添加参数${workspace\u Home},就这样

只要确保在触发作业时指定“在同一节点上运行”,以便它在同一从机上运行即可


祝你好运!

你的意思是在父项中定义一个名为“Workspace\u Home”的参数吗然后将其传递给child?此解决方案不适用于我。$Workspace不发送任何内容。抱歉,请尝试$Workspace。这是Jenkins为保存作业的工作区而生成的作业中的环境参数。一旦作业完成,您可以通过进入作业实例查看作业的所有环境参数t运行并搜索“环境参数”在视图的左侧。这在某种程度上起作用,但并不完全符合我的要求。如果我想在某个时候单独运行子作业,在这种情况下它不会占用我的父作业工作区,因为父作业未运行。当我尝试单独运行子作业或同时运行父作业和子作业时,是否有其他解决方案可以工作?只需在c中指定一个默认值即可hild作业从父作业发送到工作区。然后,您只能生成子作业。同样,您需要指定正在运行的节点,以便在同一台计算机上运行,或者为子作业可以运行的位置添加限制。在我看来,不使用父作业->子作业,而是使用同时包含父作业和子作业的包装作业更明智rent和child。所以wrapper控制环境、工作区、要运行的机器等。第一个作业条件触发器,如果您希望它运行或不运行,与第二个相同,那么您只需运行wrapper。您的意思是在父项中定义一个名为“workspace_Home”的参数吗然后将其传递给child?此解决方案不适用于我。$Workspace不发送任何内容。抱歉,请尝试$Workspace。这是Jenkins为保存作业的工作区而生成的作业中的环境参数。一旦作业完成,您可以通过进入作业实例查看作业的所有环境参数t运行并搜索“环境参数”在视图的左侧。这在某种程度上起作用,但并不完全符合我的要求。如果我想在某个时候单独运行子作业,在这种情况下它不会占用我的父作业工作区,因为父作业未运行。当我尝试单独运行子作业或同时运行父作业和子作业时,是否有其他解决方案可以工作?只需在c中指定一个默认值即可hild作业从父作业发送到工作区。然后,您只能生成子作业。同样,您需要指定正在运行的节点,以便在同一台计算机上运行,或者为子作业可以运行的位置添加限制。在我看来,不使用父作业->子作业,而是使用同时包含父作业和子作业的包装作业更明智所以包装器控制环境、工作区、要运行的机器等。第一个作业条件触发器,如果您希望它运行或不运行,与第二个相同,那么您只需运行包装器