[완료] Ant에서 마지막 빌드 후 변경된 파일만 골라낼 수 있나요?

samsee의 이미지

안녕하세요 kldp 여러분.
현재 프로젝트 사정으로 이러한 모습으로 개발하고 있습니다.
- 개발자의 로컬에 개발환경(WAS 등) 구축 어려움. -> 로컬에서 테스트 불가. -> 서버에 직접 반영하며 테스트.
- Eclipse에서 Ant로 FTP 업로드를 수행. -> 개발자간의 충돌 발생 가능.

그래서 풀고자 하는 문제는 아래와 같습니다.
- 마지막으로 FTP 업로드를 실행한 뒤 변경된 파일만 업로드 되는 Ant 테스크 만들기.

어떻게 하면 '마지막으로 FTP 업로드를 실행한 뒤 변경된 파일만' 골라낼 수 있을까요? 도와주세요~~

그럼 상쾌한 3월 되세요-

----- 추가 -----
결국 ant에서 해결 봤습니다. 마지막 업로드 시각을 기록하는 property 파일을 새로 만들고 업로드하고 나서 앞의 파일을 새로운 시각으로 업데이트 하는 식으로요.
modified selectordate selector를 참조했습니다.
아래는 ant에서 처리한 부분입니다.

<!-- test 서버 기준 -->
<ftp server="${ftp_ip}"
	userid="${ftp_id}"
	password="${ftp_pw}"
	remotedir="${ftp_test_dir}/@{todir}">	<!-- test 로 업로드 -->
	<fileset dir="@{fromdir}">
		<date datetime="${last_upload}" when="after"/><!-- 이전 업로드 시각 이후 변경된 파일에 대해서만 업로드 -->
	</fileset>
</ftp>
<!-- 마지막 업로드 시각을 지금(업로드한 시각)으로 업데이트 하기 -->
<tstamp>
	<format property="DSTAMP" pattern="MM/dd/yyyy"/>
	<format property="TSTAMP" pattern="HH:mm a" locale="en,EN"/>
</tstamp>
<echo file="lastUploadDateTime.properties" append="false" message="last_upload = ${DSTAMP} ${TSTAMP}"/>

윗분들 말씀처럼 버전컨트롤을 도입하고 싶은데 아직 소스 정리가 안되있어서 ㅠ. 그럼 안녕히 계세요~
endofhope의 이미지

굳이 구현하자면 ftp 업로드를 수행했을때 서버 시간을 로컬에 기록하고 있다가
서버에 다시 업로드할때 기록된 시간과 파일 시간을 비교하면 되겠습니다.
기준이 되는 파일을 찾아서 - 변경되지 않은 파일 - find -newer 옵션으로 찾을 수 있습니다.

하지만 subversion 이나 CVS 같은 version control 을 도입하는 것이 아마도 원하시는 해답일 듯 하네요.

--
말할 수 있는 것은 분명하게 말해질 수 있다;
말해질 수 없는 것에 대해서는 침묵해야한다.
논리철학논고 - 루드비히 비트겐슈타인

--
말할 수 있는 것은 분명하게 말해질 수 있다;
말해질 수 없는 것에 대해서는 침묵해야한다.
논리철학논고 - 루드비히 비트겐슈타인

alwaysN00b의 이미지

윗분 말씀대로 소스서버(cvs나 svn) 에서 ant등을 이용해 was에 upload하시는게 가장 현명한 방법일것 같습니다.

언제나 시작

samsee의 이미지

혹시 저 modified selector를 어떻게 사용하는지 아시는 분? 저걸 써서 어케 간단하게 할 수 있지 않을까 싶은데 ant 문서를 봐도 뭔소린지 잘 모르겠네요;;

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.