본문 바로가기
컴퓨터/소프트웨어

Eclipse에서 ant를 이용해서 sftp로 파일 전송하기

by 신규하 2011. 10. 13.
요즘은 이클립스에서 웹개발을 하게 되었는데..
ant를 이용해서 소스 파일을 사이트로 업로드 하는 방법이 있어서 정리 해 봅니다.

전 php용도로 사용해서 거기에 맞춰서 정리 합니다.

먼저 이클립스에서 ant를 설치 합니다.

Help > Install New Software 를 선택합니다.

아래와 같은 화면에서 Work with에서 --All Available Sites -- 를 선택합니다.
조금 기다리고 나서, 하단 필터에 java EE를 입력해 주면,
아래와 같이 목록이 뜹니다.


이 다음부터는 next와 finish를 눌러가면서 알아서 설치해 주시면 됩니다.

설치가 끝난후 이클립스를 재시작 합니다.

Window > Show View -> Other를 선택하면 ant가 추가 된것을 볼 수 있습니다.


OK를 누르고 적당한 위치에 Ant를 배치합니다.

이번에는 sftp를 사용을 위해서 Maverick ANT 라이브러리를 설치 해야 합니다.

다운로드

위 파일을 다운로드 받습니다.
 
그리고 적당한 폴더에 압축을 풀어 줍니다.
해당 파일은 계속 사용하니.. 잘 고민해서 넣어 주세요.

Window -> Preferences를 선택해서 Ant > Runtime을 선택합니다.
여기서 Ant Home Entries(Default)를 선택하고 Add External JARs.. 버튼을 클릭합니다.


그리고 위 라이브러리의 압축을 푼 위치에서 lib/maverick-ant.jar 파일을 선택해서 추가해 줍니다.

여기 까지 하면 설치는 끝났습니다.

이제 부터는 사용 방법 입니다.

먼저 프로젝트에 build.xml 파일을 추가 합니다.
그리고 아래와 같이 입력해 줍니다.

<?xml version="1.0" encoding="UTF-8"?>
<project name="project" basedir="." default="UploadAll">
    <property name="sftp.server" value="123.123.123.123"/>
    <property name="sftp.port" value="22" />
    <property name="sftp.home.dir" value="/var/www/project/"/>
    <property name="sftp.userid" value="userName"/>
    <property name="sftp.pw" value="userPassword"/>

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

    <target name="UploadAll">
        <ssh host="${sftp.server}" port="${sftp.port}" username="${sftp.userid}" password="${sftp.pw}" version="2">
            <sftp action="put" remotedir="${sftp.home.dir}" verbose="true">
                <fileset dir=".">
                    <include name="**/*" />
                    <exclude name=".settings/**" />
                    <exclude name=".project" />
                </fileset>
            </sftp>
        </ssh>
    </target>

    <target name="UploadChangedFiles">
        <ssh host="${sftp.server}" port="${sftp.port}" username="${sftp.userid}" password="${sftp.pw}" version="2">
            <sftp action="put" remotedir="${sftp.home.dir}" verbose="true" depends="yes">
                <fileset dir=".">
                    <include name="**/*" />
                    <exclude name=".settings/**" />
                    <exclude name=".project" />
                </fileset>
            </sftp>
        </ssh>
    </target>

</project>
각 property에는 자신의 설정을 입력해 주세요.
그리고 마지막으로 실행 ant 창에서 개미에 더하기 버튼이 있는 버튼을 눌러서, build.xml파일을 선택합니다.



그리고 실행 할 때는 해당 실행에서 오른쪽을 눌러서 run을 하거나, 버튼을 눌러 주시면 됩니다.


댓글