我们编写一个build.xml脚本
<
project
name
="fullProject"
basedir
="."
default
="buildAll"
>
< property file ="build.properties" />
< path id ="project.classpath" >
< fileset dir ="${project.dir}/${sharedLibs}" >
< include name ="*.jar" />
</ fileset >
< fileset dir ="${servletLibs}" >
< include name ="*.jar" />
</ fileset >
</ path >
< target name ="buildAll" depends ="checkout,compile,copyconfig" description ="Build all projects" >
</ target >
< target name ="checkout" >
< cvs command ="checkout -d ${sub.project.name}"
cvsRoot =":pserver:${user}:${passwd}@se_cvs.sh.mezimedia.com:${repo}"
package ="${project_module_path}"
dest ="${webapps.dir}"
append ="true" />
</ target >
< target name ="compile" >
< mkdir dir ="${project.dir}/${bin.dir}" />
< javac srcdir ="${project.dir}/${src.java}"
destdir ="${project.dir}/${bin.dir}"
classpathref ="project.classpath"
debug ="true"
debuglevel ="lines,vars,source"
/>
</ target >
< target name ="copyconfig" description ="copy config file from config dir" >
< copy todir ="${project.dir}/${bin.dir}" >
< fileset dir ="${project.dir}/${src.config}" >
< include name ="**/*.xml" />
< include name ="*.properties" />
</ fileset >
< fileset dir ="${project.dir}/${src.java}" >
< include name ="**/*.xml" />
</ fileset >
</ copy >
</ target >
</ project >
< property file ="build.properties" />
< path id ="project.classpath" >
< fileset dir ="${project.dir}/${sharedLibs}" >
< include name ="*.jar" />
</ fileset >
< fileset dir ="${servletLibs}" >
< include name ="*.jar" />
</ fileset >
</ path >
< target name ="buildAll" depends ="checkout,compile,copyconfig" description ="Build all projects" >
</ target >
< target name ="checkout" >
< cvs command ="checkout -d ${sub.project.name}"
cvsRoot =":pserver:${user}:${passwd}@se_cvs.sh.mezimedia.com:${repo}"
package ="${project_module_path}"
dest ="${webapps.dir}"
append ="true" />
</ target >
< target name ="compile" >
< mkdir dir ="${project.dir}/${bin.dir}" />
< javac srcdir ="${project.dir}/${src.java}"
destdir ="${project.dir}/${bin.dir}"
classpathref ="project.classpath"
debug ="true"
debuglevel ="lines,vars,source"
/>
</ target >
< target name ="copyconfig" description ="copy config file from config dir" >
< copy todir ="${project.dir}/${bin.dir}" >
< fileset dir ="${project.dir}/${src.config}" >
< include name ="**/*.xml" />
< include name ="*.properties" />
</ fileset >
< fileset dir ="${project.dir}/${src.java}" >
< include name ="**/*.xml" />
</ fileset >
</ copy >
</ target >
</ project >
我们在cvs checkout 时,使用了-d 这样的话我们所顶的dest目录,就是我们需要定义的project目录的父级的目录
我们checkout -d 来checkout module的时,会将减短path ,注意-d 后定义的目录,就是我们项目的目录,这个目录必须为相对路径,也就是dest的子目录,否则可能会有问题
然后我们写一个shell
deploy_facebook.sh
export ANT_HOME
=/
tmp
/
apache
-
ant
-
1.7
.
0
export PATH = ${PATH} : ${ANT_HOME} / bin
ant buildAll
export PATH = ${PATH} : ${ANT_HOME} / bin
ant buildAll
我们定义环境变量 ANT_HOME , PATH
这样我们就能一键进行CVS项目的部署了,当然build.xml里的具体的操作还是根据项目在CVS上的部署来写
Over