본문 바로가기
프로그래밍

ant를 이용한 ftp 업로드

by 탁구치는 개발자 2009. 4. 1.
<?xml version="1.0" encoding="euc-kr"?>
<project name="project" default="jspUpload">
 <description>ftp upload</description>
 <property file="build.properties" />
 <property name="web.home" value="D:/project/WIDGET_WAP/ContextRoot" />
 <!-- ==================== ftp upload Target ================================== -->
 <target name="jspUpload" depends="time, check" description="ftp 연결후 모듈 서버로 전송">
  <echo message="|-------------------------------------------------------------| " />
  <echo message="|                                                             | " />
  <echo message="|                      jsp Uploaindg......                    | " />
  <echo message="|                                                             | " />
  <echo message="|-------------------------------------------------------------| " />
  <ftp server="${ftp.server}"
    port="${ftp.port}"
    remotedir="${ftp.remotedir}"
    userid="${ftp.userid}"
    password="${ftp.password}"
    depends="yes"
    binary="yes"
    verbose="yes"
    timediffauto="yes">
   <fileset dir="${web.home}">
    <include name="**/*.jsp" />
   </fileset>
  </ftp>
  <echo message="|-------------------------------------------------------------| " />
  <echo message="|                                                             | " />
  <echo message="|                      Upload OK!                             | " />
  <echo message="|                                                             | " />
  <echo message="|-------------------------------------------------------------| " />
 </target>
 <target name="classUpload" depends="time, check" description="ftp 연결후 모듈 서버로 전송">
  <echo message="|-------------------------------------------------------------| " />
  <echo message="|                                                             | " />
  <echo message="|                      class Uploaindg......                    | " />
  <echo message="|                                                             | " />
  <echo message="|-------------------------------------------------------------| " />
  <ftp server="${ftp.server}"
    port="${ftp.port}"
    remotedir="${ftp.remotedir}"
    userid="${ftp.userid}"
    password="${ftp.password}"
    depends="yes"
    binary="yes"
    verbose="yes"
    timediffauto="yes">
   <fileset dir="${web.home}">
    <include name="**/*.class" />
   </fileset>
  </ftp>
  <echo message="|-------------------------------------------------------------| " />
  <echo message="|                                                             | " />
  <echo message="|                      Upload OK!                             | " />
  <echo message="|                                                             | " />
  <echo message="|-------------------------------------------------------------| " />
 </target>
 <target name="xmlUpload" depends="time, check" description="ftp 연결후 모듈 서버로 전송">
  <echo message="|-------------------------------------------------------------| " />
  <echo message="|                                                             | " />
  <echo message="|                      xml Uploaindg......                    | " />
  <echo message="|                                                             | " />
  <echo message="|-------------------------------------------------------------| " />
  <ftp server="${ftp.server}"
    port="${ftp.port}"
    remotedir="${ftp.remotedir}"
    userid="${ftp.userid}"
    password="${ftp.password}"
    depends="yes"
    binary="yes"
    verbose="yes"
    timediffauto="yes">
   <fileset dir="${web.home}">
    <include name="**/*.xml" />
   </fileset>
  </ftp>
  <echo message="|-------------------------------------------------------------| " />
  <echo message="|                                                             | " />
  <echo message="|                      Upload OK!                             | " />
  <echo message="|                                                             | " />
  <echo message="|-------------------------------------------------------------| " />
 </target>
 <!-- ==================== check java version Target ================================== -->
 <target name="check">
  <echo message="${java.version}">
  </echo>
 </target>
 <!-- ==================== check time Target ================================== -->
 <target name="time">
  <tstamp>
   <format property="touch.time" pattern="MM/dd/yyyy hh:mm aa" offset="-5" unit="hour" />
  </tstamp>
  <echo message="${touch.time}">
  </echo>
 </target>
</project>




commons-net-1.4.1.jar

jakarta-oro-2.0.8.jar


노가다를 줄이기위해 ant를 이용하여 ftp 업로드 기능 스크립트를 만들어보았다.
일일이 수작업으로 파일질라에서 업로드를 진행해왔는데 이제와서야 자동화를 하게 되었군..ㅋㅋ

* 설치 작업절차
1.  먼저 이클립스의 프로젝트에 build.xml 파일을 생성하여 파란색란의 스크립트를 붙여넣는다.
2.  build.properties를 생성하여 빨간색란의 정보를 붙여 넣은 후 업로드할 서버의 정보를 기입한다.
3.  build.xml 파일의 <property name="web.home" value="D:/project/WIDGET_WAP/ContextRoot" /> 이 부분을 자신의 프로젝트 설정과 맞추어준다.(현재는 내 설정이 들어가있음)
4.  첨부한 파일 2개를 이클립스의 plugin 폴더안에 넣고 아래와 같이 Ant --> Runtime 의 Classpath에 추가한다.

5.  이클립스의 Window --> Show View --> Ant 를 클릭하여 창을 띄운다.
6.  창의 상단에보면 개미모양 +  <-- 요렇게 생긴모양이 있는데 이 모양을 클릭한 후 만들어놓은 build.xml 파일을 추가하면 된다.

7. 추가된 파일의 하위 노드로 들어가보면
check : jdk 버전 체크
classUpload : class 파일만 업로드
jspUpload : jsp 파일만 업로드
xmlUpload : xml 파일만 업로드
time : 시간찍어주는 task
이렇게 5가지가 있는데 사용방법은 jsp 파일만 업로드하고싶을때 jspUpload 더블클릭을 해주면 로컬의 소스와 개발서버의 소스를 비교하여 변경된 파일만 upload를 시켜준다.

나중에 좀더 편안방법으로 개발을 진행할 수 있도록 여러가지 task를 적용하여 사용해야겠다.