Я пытаюсь автоматизировать сборку для своих приложений IBM Integration Bus. Я использую Дженкинса и Ант для этого.
<?xml version="1.0"?>
<project name="project" default="run">
<target name="run" description="">
<property name="toolkit.home" value="C:\Program Files\IBM\IIB\10.0.0.10\server\bin" />
<property name="cmd.home" value="C:\Windows\System32" />
<property name="cmd.file" value="${cmd.home}\cmd.exe"/>
<property name="iib.cmd" value="C:\Program Files\IBM\IIB\10.0.0.10\iib.cmd"/>
<antcall target="build" />
</target>
<target name="build">
<exec executable="${cmd.file}">
<arg value="/k"/>
<arg value="${iib.cmd}"/>
</exec>
<exec executable="mqsilist" newenvironment="false"/>
</target>
</project>
Первый exec настроит среду сборки IIB. Следующий exec перечислит все узлы интеграции, установленные на машине. Когда скрипт запускается, второй exec выдает ошибку. "Система не может найти указанный файл".
Когда я запускаю вышеуказанные команды в Powershell или cmd, они работают нормально.
F:\Ant>C:\Windows\System32\cmd.exe /k "C:\Program Files\IBM\IIB\10.0.0.10\iib.cmd"
F:\Ant>mqsilist
То, что я хочу сказать, это среда сборки, в которой теряется первый набор exec. Я не хочу, чтобы ant потерял среду сборки, установленную first exec. Пробовал с помощью newenvironment="false"
. Это не сработало.
Любая помощь будет оценена.