의 예 build.xml 에 대한 귀를 배포하는 WebSphere6
-
08-06-2019 - |
해결책
환경:Fedora8 일;었 6.1(으로 설치된 합리적 응용 프로그램 개발자 7)
이 문서는 매우 빈약한 이 지역의 부족이 있다가 실례로 다루어진다.
를 사용하는 WebSphere Application Server(WAS)Ant 작업
실행하는 여기에 설명된 대로,당신은 당신을 실행해야에서 그들을 당신의 서버 프로필 bin 디렉토리를 사용하는 ws_ant.sh 나 ws_ant.bat 명령입니다.
<?xml version="1.0"?>
<project name="project" default="wasListApps" basedir=".">
<description>
Script for listing installed apps.
Example run from:
/opt/IBM/SDP70/runtimes/base_v61/profiles/AppSrv01/bin
</description>
<property name="was_home"
value="/opt/IBM/SDP70/runtimes/base_v61/">
</property>
<path id="was.runtime">
<fileset dir="${was_home}/lib">
<include name="**/*.jar" />
</fileset>
<fileset dir="${was_home}/plugins">
<include name="**/*.jar" />
</fileset>
</path>
<property name="was_cp" value="${toString:was.runtime}"></property>
<property environment="env"></property>
<target name="wasListApps">
<taskdef name="wsListApp"
classname="com.ibm.websphere.ant.tasks.ListApplications"
classpath="${was_cp}">
</taskdef>
<wsListApp wasHome="${was_home}" />
</target>
</project>
명령:
./ws_ant.sh -buildfile ~/IBM/rationalsdp7.0/workspace/mywebappDeploy/applist.xml
스크립트는 배포
<?xml version="1.0"?>
<project name="project" default="default" basedir=".">
<description>
Build/Deploy an EAR to WebSphere Application Server 6.1
</description>
<property name="was_home" value="/opt/IBM/SDP70/runtimes/base_v61/" />
<path id="was.runtime">
<fileset dir="${was_home}/lib">
<include name="**/*.jar" />
</fileset>
<fileset dir="${was_home}/plugins">
<include name="**/*.jar" />
</fileset>
</path>
<property name="was_cp" value="${toString:was.runtime}" />
<property environment="env" />
<property name="ear" value="${env.HOME}/IBM/rationalsdp7.0/workspace/mywebappDeploy/mywebappEAR.ear" />
<target name="default" depends="deployEar">
</target>
<target name="generateWar" depends="compileWarClasses">
<jar destfile="mywebapp.war">
<fileset dir="../mywebapp/WebContent">
</fileset>
</jar>
</target>
<target name="compileWarClasses">
<echo message="was_cp=${was_cp}" />
<javac srcdir="../mywebapp/src" destdir="../mywebapp/WebContent/WEB-INF/classes" classpath="${was_cp}">
</javac>
</target>
<target name="generateEar" depends="generateWar">
<mkdir dir="./earbin/META-INF"/>
<move file="mywebapp.war" todir="./earbin" />
<copy file="../mywebappEAR/META-INF/application.xml" todir="./earbin/META-INF" />
<jar destfile="${ear}">
<fileset dir="./earbin" />
</jar>
</target>
<!-- http://publib.boulder.ibm.com/infocenter/wasinfo/v6r1/index.jsp?topic=/com.ibm.websphere.javadoc.doc/public_html/api/com/ibm/websphere/ant/tasks/package-summary.html -->
<target name="deployEar" depends="generateEar">
<taskdef name="wsInstallApp" classname="com.ibm.websphere.ant.tasks.InstallApplication" classpath="${was_cp}"/>
<wsInstallApp ear="${ear}"
failonerror="true"
debug="true"
taskname=""
washome="${was_home}" />
</target>
</project>
Notes:
- 만 실행할 수 있습니다 이 번!설치할 수 없는 경우 응용 프로그램 이름을 사용하시와 같은 다른 작업 wsUninstallApp
- 그것은 아마 시작하지 않을 것 중 하나 응용 프로그램
- 실행해야 하는 이 서버에서 스크립트는 매우 취약
대
능을 사용 JMX(Java Management Extensions).당신이 쓸 수 있는 파일을 업로드 servlet 는지 귀를 사용하여 배포 Mbean 배포하 귀 서버에 있습니다.당신은 단지 포스트 파일 over HTTP.이것이 피었 API 종속성을 개발/구축 기계 및 될 수 있는 독립적인 중 어느 하나 프로젝트입니다.
다른 팁
여기에 몇 가지 동일한 기능의하지 않는 경우가 있었 ant 작업을 수행할 수 있습니다 또는 실행하는 것을 원하지 않 was_ant.bat.이에 의존하 wsadmin.박쥐에서 기존의합니다.
<property name="websphere.home.dir" value="${env.WS6_HOME}" />
<property name="was.server.name" value="server1" />
<property name="wsadmin.base.command" value="wsadmin.bat" />
<property name="ws.list.command" value="$AdminApp list" />
<property name="ws.install.command" value="$AdminApp install" />
<property name="ws.uninstall.command" value="$AdminApp uninstall" />
<property name="ws.save.command" value="$AdminConfig save" />
<property name="ws.setManager.command" value="set appManager [$AdminControl queryNames cell=${env.COMPUTERNAME}Node01Cell,node=${env.COMPUTERNAME}Node01,type=ApplicationManager,process=${was.server.name},*]" />
<property name="ws.startapp.command" value="$AdminControl invoke $appManager startApplication" />
<property name="ws.stopapp.command" value="$AdminControl invoke $appManager stopApplication" />
<property name="ws.conn.type" value="SOAP" />
<property name="ws.host.name" value="localhost" />
<property name="ws.port.name" value="8880" />
<property name="ws.user.name" value="username" />
<property name="ws.password.name" value="password" />
<property name="app.deployed.name" value="${artifact.filename}" />
<property name="app.contextroot.name" value="/${artifact.filename}" />
<target name="websphere-list-applications">
<exec dir="${websphere.home.dir}/bin" executable="${wsadmin.base.command}" output="waslist.txt" logError="true">
<arg line="-conntype ${ws.conn.type}" />
<arg line="-host ${ws.host.name}" />
<arg line="-port ${ws.port.name}" />
<arg line="-username ${ws.user.name}" />
<arg line="-password ${ws.password.name}" />
<arg line="-c" />
<arg value="${ws.list.command}" />
</exec>
</target>
<target name="websphere-install-application" depends="websphere-uninstall-application">
<exec executable="${websphere.home.dir}/bin/${wsadmin.base.command}" logError="true" outputproperty="websphere.install.output" failonerror="true">
<arg line="-conntype ${ws.conn.type}" />
<arg line="-host ${ws.host.name}" />
<arg line="-port ${ws.port.name}" />
<arg line="-username ${ws.user.name}" />
<arg line="-password ${ws.password.name}" />
<arg line="-c" />
<arg value="${ws.install.command} ${dist.dir}/${artifact.filename}.war {-appname ${app.deployed.name} -server ${was.server.name} -contextroot ${app.contextroot.name}}" />
<arg line="-c" />
<arg value="${ws.save.command}" />
<arg line="-c" />
<arg value="${ws.setManager.command}" />
<arg line="-c" />
<arg value="${ws.startapp.command} ${app.deployed.name}" />
<arg line="-c" />
<arg value="${ws.save.command}" />
</exec>
<echo message="${websphere.install.output}" />
</target>
<target name="websphere-uninstall-application">
<exec executable="${websphere.home.dir}/bin/${wsadmin.base.command}" logError="true" outputproperty="websphere.uninstall.output" failonerror="false">
<arg line="-conntype ${ws.conn.type}" />
<arg line="-host ${ws.host.name}" />
<arg line="-port ${ws.port.name}" />
<arg line="-username ${ws.user.name}" />
<arg line="-password ${ws.password.name}" />
<arg line="-c" />
<arg value="${ws.setManager.command}" />
<arg line="-c" />
<arg value="${ws.stopapp.command} ${app.deployed.name}" />
<arg line="-c" />
<arg value="${ws.save.command}" />
<arg line="-c" />
<arg value="${ws.uninstall.command} ${app.deployed.name}" />
<arg line="-c" />
<arg value="${ws.save.command}" />
</exec>
<echo message="${websphere.uninstall.output}" />
</target>
좋은 시작점이 될 수 있 이 maven pluggin, 지 사용,또는 어쩌면 그렇지만,이븐 구축을 통해 개미는 작업입니다.당신이 볼 WAS5+Plugin+Mojo.zip\src\main\scripts\was5.build.xml
거나 말했듯이"맥도웰",당신이 사용할 수 있습니다"WebSphere Application Server(WAS)Ant 작업을"그러나 직접적으로 개미는 작업입니다.
<path id="classpath">
<fileset file="com.ibm.websphere.v61_6.1.100.ws_runtime.jar"/>
</path>
<taskdef name="wsStartApp" classname="com.ibm.websphere.ant.tasks.StartApplication" classpathref="classpath" />
<taskdef name="wsStopApp" classname="com.ibm.websphere.ant.tasks.StopApplication" classpathref="classpath" />
<taskdef name="wsInstallApp" classname="com.ibm.websphere.ant.tasks.InstallApplication" classpathref="classpath" />
<taskdef name="wsUninstallApp" classname="com.ibm.websphere.ant.tasks.UninstallApplication" classpathref="classpath" />
<target name="startWebApp1" depends="installEar">
<wsStartApp wasHome="${wasHome.dir}"
application="${remoteAppName}"
server="${clusterServerName}"
conntype="${remoteProdConnType}"
host="${remoteProdHostName}"
port="${remoteProdPort}"
user="${remoteProdUserId}"
password="${remoteProdPassword}" />
</target>
<target name="stopWebApp1" depends="prepare">
<wsStopApp wasHome="${wasHome.dir}"
application="${remoteAppName}"
server="${clusterServerName}"
conntype="${remoteConnType}"
host="${remoteHostName}"
port="${remotePort}"
user="${remoteUserId}"
password="${remotePassword}"/>
</target>
<target name="uninstallEar" depends="stopWebApp1">
<wsUninstallApp wasHome="${wasHome.dir}"
application="${remoteAppName}"
options="-cell uatNetwork -cluster DOL"
conntype="${remoteConnType}"
host="${remoteHostName}"
port="${remoteDmgrPort}"
user="${remoteUserId}"
password="${remotePassword}"/>
</target>
<target name="installEar" depends="prepare">
<wsInstallApp ear="${existingEar.dir}/${existingEar}"
wasHome="${wasHome.dir}"
options="${install_app_options}"
conntype="${remoteConnType}"
host="${remoteHostName}"
port="${remoteDmgrPort}"
user="${remoteUserId}"
password="${remotePassword}" />
</target>
또 다른 유용한 링크 수 이.
하려는 경우에는 재생 왜 주위에 사용하지 netbeans IDE 를 생성하고 귀 파일이 있습니다.을 만드는 경우업 프로젝트는 것이 자동으로 생성하는 개미합니다.좋은 프로토타입을 막 시작한:-)
도있었 플러그인 할 수있는 자동 배포 그러나 이것은 매우 shakey!