'2014/03'에 해당되는 글 1건

  1. 2014.03.02 ant 빌드 sshexec 수행시 흔히 하는 오해 (3)


내가 하고 싶은건 


1. 서버에 있는 www.war  파일을 www.war.back 으로 옮긴다.

2. 로컬에 있는 www.war 파일을 서버로 업로드


이거였다.


그런데, 이상하게 건건히 실행할때는 잘 되는 ant 스크립트가 두건을 연결해서 하니 안되는 현상이 발견되었다.


<target name="ssh.mv.war">

<sshexec host="server"

username="user"

password="password"

command="mv www.war www.war_bk;" 

trust="true" failonerror="false"

/>

</target>

<target name="ftp.put.war">

<ftp action="put" userid="user" password="password" server="server" remotedir="./" >

<fileset file="${dist}/www.war" />

</ftp>

</target>


왜그럴까를 한참 생각하다가

첫번째 드는 생각은 sleep 이었다.

뭔가 연속으로 파일을 인서트 할때

www.war 파일 백업이 끝나기도 전에 ftp 로 새로운 파일을 보내는 것 처럼 보여

서버에 sleep 명령어를 줘 보았다.


<sshexec host="server"

username="user"

password="password"

command="mv www.war www.war_bk;sleep 1;" 

trust="true" failonerror="false"

/>



 그래도 효과가 없다.


아 생각해보니 ant의 sshexec 은 한번 시행하는 역할만 할 뿐 끝날때까지 기다려 주는 역할을 하지 못하는 걸로 보인다.


그렇다면 sleep 명령어를 서버에서 주는게 아닌 ant 스크립트 자체에서 줘보기로 했다.




<target name="ssh.mv.war">

<sshexec host="server"

username="user"

password="password"

command="mv www.war www.war_bk;" 

trust="true" failonerror="false"

/>

<sleep seconds="1"/>

</target>

<target name="ftp.put.war">

<ftp action="put" userid="user" password="password" server="server" remotedir="./" >

<fileset file="${dist}/www.war" />

</ftp>

</target>



키야 ~ 보기좋게 성공~!


ant 에서 서버로 바로 수행시켜준 명령어에 대해서 종료 인증을 받은 후 작업을 수행하도록 하고 싶었지만


일단 mv 명령어가 1초이상 걸릴일은 없을테니 그 부분은 나중에 하기로 하고 


이 이슈는 이렇게 마무리 해두자.



Posted by JHoon Jung

댓글을 달아 주세요

  1. jackpot93 2014.07.20 15:30 신고 Address Modify/Delete Reply

    азартные игры слоты играть бесплатно без регистрации шарики, игровые автоматы ultra hot.

  2. jackpot64 2014.08.07 13:01 신고 Address Modify/Delete Reply

    интернет казино бесплатное, игровые автоматы бесплатно россия банк.

  3. blackjack65 2014.08.20 17:05 신고 Address Modify/Delete Reply

    играть бесплатно казино европа еще игровые автоматы бесплатно гараж.