본문 바로가기
일이야기/Oddments

ANT로 SFTP 업로드 하기

by Cloud9™ 2015. 6. 11.

 

 

sftp 업로드를 위해서 http://www.jcraft.com/jsch/ 에서 jsch-0.1.xx.jar 를 받아야 한다.

 

수정된 파일만 업로드 하기 위해서 modified 내용을 작성해야 한다.

propertyfile을 작성하여 수정된 파일이 있는지 검색하고 수정된 것이 있으면 업로드 한다.

build.xml 의 basedir 과 같은 경로에 cache 파일이 생성되는데 이 파일 업로드를 제외하면

수정된 파일만 올라가지 않는다.

 

절대 exclude 로 설정하면 안된다.

 

 

build.xml

 

<?xml version="1.0" encoding="EUC-KR"?>

<project name="usedcar" basedir="../../" default="jsp 업로드">

 

    <property name="dev.server" value="111.222.333.444"/>

    <property name="dev.port" value="22" />

    

    <property name="dev.ai.dir" value="/data/ai"/>

    <property name="ai.aiB.dir" value="/data/aiB"/>

    <property name="dev.test.dir" value="/test"/>

    

    <property name="dev.userid" value="userid"/>

    <property name="dev.pw" value="password"/>

 

    <taskdef name="ssh" classname="com.sshtools.ant.Ssh" />

      <target name="jsp 업로드">

         <ssh host="${dev.server}" port="${dev.port}" username="${dev.userid}" password="${dev.pw}" version="2">

                <sftp action="put" remotedir="${dev.test.dir}" verbose="true" depends="yes">

                    <fileset dir=".">

                    <modified update="true" seldirs="true" cache="propertyfile" algorithm="digest" comparator="equal">

                    <param name="cache.cachefile" value="uploadCache.properties" />

                    <param name="algorithm.algorithm" value="MD5" />

                    </modified>                    

                    <include name="jsp/**" />

                    </fileset>

                </sftp>

            </ssh>

       </target>

 

<target name="src 업로드">

            <ssh host="${dev.server}" port="${dev.port}" username="${dev.userid}" password="${dev.pw}" version="2">

                <sftp action="put" remotedir="${dev.test.dir}" verbose="true" depends="yes">

                    <fileset dir=".">

                    <modified update="true" seldirs="true" cache="propertyfile" algorithm="digest" comparator="equal">

                    <param name="cache.cachefile" value="uploadCache.properties" />

                    <param name="algorithm.algorithm" value="MD5" />

                    </modified>                    

                    <include name="src/**" />

                    <exclude name="src/com/properties/system.properties" />

                    <exclude name=".classpath" />

                    <!-- 올리지 말아야 할 파일 추가 -->

                    </fileset>

                </sftp>

            </ssh>

        </target>

 

 

<!--

<target name="개발모두업로드">

        <ssh host="${dev.server}" port="${dev.port}" username="${dev.userid}" password="${dev.pw}" version="2">

            <sftp action="put" remotedir="${dev.ai.dir}" verbose="true" depends="yes">

                <fileset dir=".">

                <modified update="true" seldirs="true" cache="propertyfile" algorithm="digest" comparator="equal">

                <param name="cache.cachefile" value="uploadCache.properties" />

                <param name="algorithm.algorithm" value="MD5" />

                </modified>                    

                <include name="front/**" />

                <include name="src/**" />

                </fileset>

            </sftp>

        <sftp action="put" remotedir="${dev.aiB.dir}" verbose="true" depends="yes">

                <fileset dir=".">

                    <include name="front/**" />

                <include name="src/**" />

               </fileset>

        </sftp>

        </ssh>

    </target>

 

  

 

<target name="개발JAVA업로드">

<ssh host="${dev.server}" port="${dev.port}" username="${dev.userid}" password="${dev.pw}" version="2">

<sftp action="put" remotedir="${dev.ai.dir}" verbose="true" depends="yes">

<fileset dir=".">

<include name="src/**" />    

<exclude name="**.properties" />

</fileset>

</sftp>

<sftp action="put" remotedir="${dev.aiB.dir}" verbose="true" depends="yes">

<fileset dir=".">

<include name="src/**" />    

<exclude name="**.properties" />

</fileset>

</sftp>

</ssh>

</target>

 

<target name="개발JSP업로드">

        <ssh host="${dev.server}" port="${dev.port}" username="${dev.userid}" password="${dev.pw}" version="2">

            <sftp action="put" remotedir="${dev.ai.dir}" verbose="true" depends="yes">

                <fileset dir=".">

                <include name="front/**" />

                </fileset>

            </sftp>

            <sftp action="put" remotedir="${dev.aiB.dir}" verbose="true" depends="yes">

                <fileset dir=".">

                <include name="front/**" />

                </fileset>

            </sftp>

        </ssh>

    </target>

    -->

</project>

 

 

'일이야기 > Oddments' 카테고리의 다른 글

Netsh 명령어  (0) 2015.03.11

댓글