如果 IBM® UrbanCode Deploy
没有构建系统的源配置类型,那么可使用 udclient 命令行客户机来管理组件。
关于此任务
以此方式使用
udclient
客户机时,可在构建过程中将新组件版本推送至服务器、启动进程、添加外部源的链接及在
IBM UrbanCode Deploy
服务器上运行许多其他任务。使用此方式,您可以在
IBM UrbanCode Deploy 中处理组件,而不必更改构建技术。
过程
遵循以下常规步骤以设置一个使用命令行客户机的组件:
- 在 IBM UrbanCode Deploy
中创建一个或多个组件以表示构建的组件。在“创建新组件”窗口中使用以下参数:
- 在源配置类型字段中,选择无。
- 取消选中自动导入版本复选框。
- 按往常方式填写窗口中的余下字段。
- 在组件的构建脚本中,添加用于调用 udclient 客户机命令的代码,以创建组件版本并将工件上载至 IBM UrbanCode Deploy 服务器。 在大部分情况下,您使用一些不同命令来创建该版本。以下步骤显示了您可能使用的某些命令的示例。
注: 这些示例使用 Apache Ant 构建文件中的代码。具体来说,这些示例将使用调用外部程序的 Ant <exec> 命令来调用 udclient 客户机。如果您要使用其他构建技术,那么必须根据您使用的构建技术来修改这些示例以调用
udclient 客户机。
- 使用 createVersion 命令以创建新版本。 以下示例代码创建名为 mycomponent 的组件的一个版本。版本名称设置为该构建过程的时间戳记。变量 ${udclient.weburl}、${udclient.username} 和 ${udclient.password} 表示服务器的 URL 以及服务器的用户名和密码。
<exec executable="/bin/bash"
outputproperty="mycomponent.component.output">
<arg value="/opt/udclient/udclient"/>
<arg value="-weburl"/>
<arg value="${udclient.weburl}"/>
<arg value="-username"/>
<arg value="${udclient.username}"/>
<arg value="-password"/>
<arg value="${udclient.password}"/>
<arg value="createVersion"/>
<arg value="-component"/>
<arg value="mycomponent"/>
<arg value="-name"/>
<arg value="${buildTimestamp}"/>
</exec>
- 使用 addVersionFiles
命令以将工件上载至组件版本。 以下示例代码将 ${destdir} 文件夹中的文件上载至该版本:
<exec executable="/bin/bash">
<arg value="/opt/udclient/udclient"/>
<arg value="-weburl"/>
<arg value="${udclient.weburl}"/>
<arg value="-username"/>
<arg value="${udclient.username}"/>
<arg value="-password"/>
<arg value="${udclient.password}"/>
<arg value="addVersionFiles"/>
<arg value="-component"/>
<arg value="mycomponent"/>
<arg value="-version"/>
<arg value="${buildTimestamp}"/>
<arg value="-base"/>
<arg value="${destdir}"/>
</exec>
- 可选: 在组件版本中添加链接。 通过 addVersionLink 命令,可添加从该版本至外部构建资源(例如,显示有关构建结果的信息的页面)的链接。这些链接显示在组件版本的信息页面的顶部。下图显示带有指向源代码管理系统中的相关构建作业和相关构建结果的链接的组件版本: 例如,以下代码添加指向位于以下 URL 的构建结果页面的链接:http://build.example.com/projects/mycomponent/${buildResultUUID}:
<exec executable="/bin/bash">
<arg value="/opt/udclient/udclient"/>
<arg value="-weburl"/>
<arg value="${udclient.weburl}"/>
<arg value="-username"/>
<arg value="${udclient.username}"/>
<arg value="-password"/>
<arg value="${udclient.password}"/>
<arg value="addVersionLink"/>
<arg value="-component"/>
<arg value="mycomponent"/>
<arg value="-version"/>
<arg value="${buildTimestamp}"/>
<arg value="-linkName"/>
<arg value="External build result"/>
<arg value="-link"/>
<arg value="http://build.example.com/projects/mycomponent/${buildResultUUID}"/>
</exec>
结果
现在,在外部构建工具中运行构建时,该构建过程创建组件版本并将该版本的工件上载至
IBM UrbanCode Deploy
服务器。在此处,可按往常方式在服务器上使用该组件和版本,例如,使用它运行进程。
还可向构建脚本添加其他命令。例如,可使用 requestApplicationProcess
命令启动应用程序进程。