Я хочу автоматически развернуть сборку файла EAR в нашем непрерывном сервере интеграции к websphere серверу приложений. Я искал задачу Ant wsdeploy
, но документация действительно не полезна вообще. Я добавил это к своему скрипту Ant:
Задача Ant WSDeploy
Моя проблема
Я не знаю, как указать адрес удаленного сервера, и я был бы рад заставить некоторые ссылки на учебные руководства или возможно рабочий отрывок Муравья развертывать 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:
Но это - то, что я получаю:
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...
Я считаю, что муравьиная задача для фактического развертывания EAR на удаленной Websphere - это wsInstallApp
, как описано здесь
<taskdef name="wsInstallApp" classname="com.ibm.websphere.ant.tasks.InstallApplication"/>
<wsInstallApp
wasHome="location of websphere installation"
ear="the ear file you wish to install"
options="the options to pass to the installation process"
properties="java properties file containing attributes to set in the JVM System properties"
profile="a script file to be executed before the main command or file"
conntype="specifies the type of connection to be used."
host="the host to connect to"
port="the port on the host to connect to"
user="user ID to authenticate with"
password="password to authenticate with"
failonerror="true | false"/>