发布程序
现在已经配置好了需要的资源,我们可以直接发布我们的Web Application了。我们建立一个新的target:
<target name="deploy">
<wldeploy action="deploy"
source="${webapp.source}"
name="${webapp.name}"
user="${server.username}"
password="${server.password}"
verbose="true"
adminurl="t3://${server.host}:${server.port}"
debug="true"
targets="${server.name}"/>
</target>
相应的build.properties
webapp.name=ant
webapp.source=web
所有的参数一目了然,webapp.source表示希望发布的目录或者是WAR或其他包,运行后我们就可以使用浏览器访问相应的url。这时候发布的程序是nostatge方式,也就是直接使用我们指定的目录,当然我们也可以使用参数nostage=false,将发布的程序拷贝到对应的stage。
action还有redeploy,undeploy,redeploy,stop,start,我们这里并不需要,这里不作介绍,但我们可以轻易的加入到我们的build文件中,但在开发情况下,并不十分需要,有兴趣的话可以自己尝试使用。
把这些整合起来
我们希望开发者在得到这个工作目录后能够最快的开始工作,我们可以修改new-server任务。
<target name="new-server" depends="init" description="初始化Domain和Server">
<delete dir="${server.dir}"/>
<mkdir dir="${server.dir}"/>
<wlserver host="${server.host}"
port="${server.port}"
username="${server.username}"
password="${server.password}"
dir="${server.dir}"
action="start"
beahome="${beahome}"
weblogichome="${wlhome}"
generateConfig="true"
servername="${server.name}"
domainname="${domain.name}"
/>
<antcall target="doconfig"/>
<antcall target="deploy"/>
</target>
我们添加了两个antcall,让server在建立好后,把环境和程序也发布完成,这样我们在得到我们的工作目录后,只需要配置一下,beahome和weblogichome,然后配置一下jdbc,然后运行ant new-server,我们的工作环境已经建立好了,可以马上开始自己的工作。
非常好的实践
6.1 开发模式
在使用这样的Ant配置后,我们的开发就是这样开始的:
1)软件配置人员做好项目的基本内容,分配好目录,配置build.properties文件中的公用部分。
2)软件配置人员把项目提交到CVS或是其他版本控制工具。
3)开发程序员从版本控制工具得到项目文件。
4)程序员修改build.properties,然后运行ant new-server,就可以开始程序的开发了。
6.2 产品模式
在项目发布到产品环境下我们的工作目标有所改变,通常我们有许多的性能参数需要调整,繁琐的修改会很麻烦,也不适合长久的保存。
1)实施人员配置好build.properties文件中的资源和性能参数。
2)然后在需要实施的机器上运行执行
3)产品直接可以使用了
在集群环境下,以上繁琐的配置会显的更重要。
总结和一些问题
wlserver和wldeploy任务是不需要指定username和password的,但这需要相应的domain目录下有boot.properties文件,所以我们实际使用的时候,在生成domain和server后,为了保密,我们就可以把build.perperties中的username和password去掉,这样别人就无法知道密码。
希望Bea能够加强这几个任务,现在还有些不方便的地方,尤其是关于CLASSPATH部分,我们还不太容易做到完全的自动化。
CRM理念、软件、实施,一个都不能少
0
相关文章