晚上好
我有一份工作,分为两个部分:
示例Rundeck作业: (第一部分)
(第二部分)
在“节点”标签中,我选择了“向节点发送”。 我的问题是,第一部分可以正常运行,但是第二部分也可以发送到远程服务器,而我需要将其“本地执行”
是否可以将第一部分设置为“向节点发送”,而将第二部分设置为“本地执行”
答案 0 :(得分:1)
您可以创建两个作业,第一个作业指向远程节点(使用“向节点分发”),第二个作业指向本地节点。然后,您可以使用job reference step创建引用这些作业的父作业。 Here是个很好的例子。
作业到远程节点:
<joblist>
<job>
<defaultTab>summary</defaultTab>
<description></description>
<dispatch>
<excludePrecedence>true</excludePrecedence>
<keepgoing>false</keepgoing>
<rankOrder>ascending</rankOrder>
<successOnEmptyNodeFilter>false</successOnEmptyNodeFilter>
<threadcount>1</threadcount>
</dispatch>
<executionEnabled>true</executionEnabled>
<id>53b304fe-c68c-40ed-a5cb-e8af9de75a99</id>
<loglevel>INFO</loglevel>
<name>JobToNodeONE</name>
<nodeFilterEditable>false</nodeFilterEditable>
<nodefilters>
<filter>name: node00</filter>
</nodefilters>
<nodesSelectedByDefault>true</nodesSelectedByDefault>
<scheduleEnabled>true</scheduleEnabled>
<sequence keepgoing='false' strategy='node-first'>
<command>
<exec>uname -a</exec>
</command>
</sequence>
<uuid>53b304fe-c68c-40ed-a5cb-e8af9de75a99</uuid>
</job>
</joblist>
作业到本地节点
<joblist>
<job>
<defaultTab>summary</defaultTab>
<description></description>
<dispatch>
<excludePrecedence>true</excludePrecedence>
<keepgoing>false</keepgoing>
<rankOrder>ascending</rankOrder>
<successOnEmptyNodeFilter>false</successOnEmptyNodeFilter>
<threadcount>1</threadcount>
</dispatch>
<executionEnabled>true</executionEnabled>
<id>b5e54476-a663-4fed-a541-c270a0295265</id>
<loglevel>INFO</loglevel>
<name>JobToNodeTWO</name>
<nodeFilterEditable>false</nodeFilterEditable>
<nodefilters>
<filter>name: localhost</filter>
</nodefilters>
<nodesSelectedByDefault>true</nodesSelectedByDefault>
<scheduleEnabled>true</scheduleEnabled>
<sequence keepgoing='false' strategy='node-first'>
<command>
<exec>uname -a</exec>
</command>
</sequence>
<uuid>b5e54476-a663-4fed-a541-c270a0295265</uuid>
</job>
父母工作:
<joblist>
<job>
<defaultTab>summary</defaultTab>
<description></description>
<executionEnabled>true</executionEnabled>
<id>858a3558-ce1f-4814-a483-3162e2ea381b</id>
<loglevel>INFO</loglevel>
<name>ParentJOB</name>
<nodeFilterEditable>false</nodeFilterEditable>
<scheduleEnabled>true</scheduleEnabled>
<sequence keepgoing='false' strategy='node-first'>
<command>
<jobref name='JobToNodeONE'>
<uuid>53b304fe-c68c-40ed-a5cb-e8af9de75a99</uuid>
</jobref>
</command>
<command>
<jobref name='JobToNodeTWO'>
<uuid>b5e54476-a663-4fed-a541-c270a0295265</uuid>
</jobref>
</command>
</sequence>
<uuid>858a3558-ce1f-4814-a483-3162e2ea381b</uuid>
</job>
</joblist>
此外,您可以使用参数在作业之间传递选项值。
答案 1 :(得分:0)
编辑作业。在“节点步骤”的底部,有一个“本地命令”选项。即使上一步是远程命令,它也将在本地运行。它还可以访问标准的节点变量集。