Использование Ant для развертывания EAR на удаленном сервере приложений Websphere

Я хочу автоматически развернуть сборку EAR-файлов на нашем сервере непрерывной интеграции на сервере приложений Websphere., Я посмотрел задание Муравейwsdeploy, нодокументация действительно не помогает вообще. Я добавил это в мой скрипт:

WSDeploy Ant задача

<classpath>
    <fileset dir="${dir.was.plugins}">
        <include name="**/*.jar" />
    </fileset>
</classpath>
<taskdef name="wsdeploy" classname="com.ibm.websphere.ant.tasks.WSDeploy" />
<target name="deploy">
    <wsdeploy inputFile="myearfile.ear"
              outputFile="myearfile_fordeployment.ear"
              classpath="${classpath}"
              debug="true"
              ignoreErrors="false"
              noValidate="false"
              trace="true" />
</target>

Моя проблема

Я не знаю, как указать адрес удаленного сервера, и я был бы рад получить несколько ссылок на учебники или, возможно, рабочий фрагмент Ant для развертывания EAR на сервере websphere.

У нас уже есть некоторые задачи SCP и SSHEXEC для портлетов, и они вызываютXMLAccess интерфейс для размещения и запуска портлетов. Нужно ли адаптировать эти сценарии и для EAR или это совершенно неправильный способ автоматического развертывания файла EAR?

ОБНОВЛЕНИЕ 2

Я переписал свой скрипт ant, и теперь ClassNotFoundException больше не существует. Тем не менее, происходит непредвиденное поведение: сценарий хочет использовать профиль, который я никогда не указывал ...

Призыв к муравью:

%WAS_HOME%\bin\ws_ant.bat -Duser.install.root="%WAS_HOME%\profiles\EXPECTEDPROFILE" -f buildall.xml "%1"

Я хочу запустить все это сEXPECTEDPROFILE, но следующее сообщение об ошибке предполагает наличие другого профиляUNEXPECTEDPROFILE участвует.

Выход:

wasListApps:
  [wsadmin] WASX7023E: Fehler beim Erstellen der "SOAP"-Verbindung zu "MYHOST". Informationen zur Ausnahme: com.ibm.websphere.management.exception.ConnectorNotAvailableException: com.ibm.websphere.management.exception.ConnectorNotAvailableException: ADMC0016E: Das System kann keinen SOAP-Connector erstellen, um die Verbindung zum Host MYHOST an Port MYPORT herzustellen.
  [wsadmin] WASX7213I: Dieser Script-Client ist mit keinem Serverprozess verbunden. Pr?fen Sie, ob in der Protokolldatei /PATH/TO/UNEXPECTEDT/PROFILE/logs\wsadmin.traceout n?here Einzelheiten enthalten sind.
  [wsadmin] WASX8011W: Das AdminTask-Objekt ist nicht verfügbar.
  [wsadmin] WASX7015E: Beim Ausf?hren des Befehls "$AdminApp list" ist eine Ausnahme eingetreten. Informationen zur Ausnahme:
  [wsadmin] com.ibm.ws.scripting.ScriptingException: WASX7206W: Der Application Management Service ist nicht aktiv. Die Befehle f?r die Anwendungsverwaltung k?nnen nicht ausgef?hrt werden.
  [wsadmin] Java Result: 103

ОБНОВЛЕНИЕ 1

Использование wsinstallapp

После прочтенияJoseKs ответ Я пытался использоватьwsinstallapp установить мое приложение с этой целью Ant:

<taskdef name="wsInstallApp" classname="com.ibm.websphere.ant.tasks.InstallApplication" classpath="${dir.was.plugins}/com.ibm.ws.runtime_6.1.0.jar" />

<target name="deploy" depends="EAR">
    <wsInstallApp
        wasHome="${WAS_HOME}"
        ear="MYAPPLICATION.ear"
        options=""
        properties=""
        profile=""
        conntype="SOAP"
        host="${TargetServer}"
        port="${TargetPort}"
        user="${TargetUser}"
        password="${TargetPwd}"
        failonerror="true" />
</target>

Но вот что я получаю:

deploy:
[wsInstallApp] Anwendung wird installiert [/path/to/MYAPPLICATION.ear]...
  [wsadmin] Exception in thread "main" java.lang.NoClassDefFoundError: org.eclipse.core.launcher.Main
  [wsadmin]     at com.ibm.wsspi.bootstrap.WSPreLauncher.launchEclipse(WSPreLauncher.java:335)
  [wsadmin]     at com.ibm.wsspi.bootstrap.WSPreLauncher.main(WSPreLauncher.java:91)
  [wsadmin] Caused by: java.lang.ClassNotFoundException: org.eclipse.core.launcher.Main
  [wsadmin]     at java.net.URLClassLoader.findClass(URLClassLoader.java:496)
  [wsadmin]     at java.lang.ClassLoader.loadClass(ClassLoader.java:631)
  [wsadmin]     at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
  [wsadmin]     at java.lang.ClassLoader.loadClass(ClassLoader.java:597)
  [wsadmin]     ... 2 more

Я не знаю, почему задача ищет класс Eclipse ...

Ответы на вопрос(1)

Ваш ответ на вопрос