在ant脚本中,我可以使用应用部署器、适配器部署器和worklightServerhost属性来发布应用
<!-- Deploys adapter file to configured host & project -->
<target name="adapterDeployer" depends="init">
<echo.timestamp message="Deploying adapter ${adapterFile}" />
<adapter-deployer worklightServerHost="${WLSERVERHOST}/${project.name}"
deployable="${adapterFile}" />
</target>
为什么,当我想要发布项目WAR文件时,我需要引用installdir ?我的CI环境没有运行Liberty配置文件。
<target name="deployWar" depends="init">
<updateapplicationserver>
<project warfile="${build.dir}/${project.name}.war" />
<applicationserver>
<websphereApplicationserver installdir="WTH this is a CI server" />
</applicationserver>
</updateapplicationserver>
</target>
是否有任何快捷方式或我需要scp我的战争到一个不同的盒子&运行不同的ant脚本?
我们有一个类似的场景,我们从Jenkins以自动化的方式部署,答案基本上是"是";您需要将WAR SCP到目标机器上,并附带一个用于部署它的小ANT脚本,然后在"本地"运行该脚本(我们使用远程SSH命令来执行此操作)。当您使用<adapter-deployer>
(或<app-deployer>
)时,您基本上是连接到一个已部署的Worklight服务器(本质上就是 .war文件)。然而,首先在那里获取WAR文件涉及到使用<updateapplicationserver>
ANT任务(实际上,在我们的场景中,我们使用<unconfigureapplicationserver>
,然后是<configureapplicationserver>
,因为这也提供了更新JNDI属性的机会)。