1.フォルダの同期
2.バックアップ
を自動化してみた。
以下のxmlをeclipseに読ませて外部ツールのantを実行すると、
xmlのあるプロジェクトのsrc以下のファイルを一度c:\export\srcへエクスポートして、エクスポート先と目的のフォルダが同期をとります。
そして同期前にバックアップをc:\export\bkに作成する。
ちなみに同期時のrobocopyのログはc:\export\logに吐き出すようにしてます。
一応動いたので満足w
昨今はeclipseをみんな良く使うなーと思って、でも、実際に実行環境(テスト、ステージング、本番含む)にアップする
時に人手が介在すると結構余分なファイルがアップされる(.svnとか平気でアップされる)のが嫌なんです。
かと言って、限られた人しかアップしないとかナンセンス。
なので、人手が介在しないようなシステム(仕組みというか手順)を用意するのがそもそもですよね?
って感じでこれからも研究していきたいと思われ。
人類猿化計画にまた一歩近づいた気がするw
<?xml version="1.0" encoding="UTF-8"?>
<project name="upload_test_up" default="test_up" basedir=".">
<!-- *** properties *** -->
<property name="export.src.path" value="c:\export\src" />
<property name="export.target.path" value="${basedir}\src" />
<property name="bkup.path" value="C:\export\bk\src_" />
<property name="syncronize.log.path" value="C:\export\log\syncronize_" />
<property name="syncronize.command" value="robocopy" />
<property name="syncronize.option" value="/E /PURGE" />
<property name="syncronize.src.path" value="c:\export\src" />
<property name="syncronize.target.path" value="c:\export\syncronize\src" />
<target name="init" depends="export">
<tstamp></tstamp>
</target>
<!-- *** control this project *** -->
<target name="test_up" depends="init,export,syncronize">
</target>
<!-- *** update from SVN *** -->
<!-- *** export without svn directory *** -->
<target name="export">
<copy todir="${export.src.path}">
<fileset dir="${export.target.path}" />
</copy>
</target>
<!-- *** syncronize target directory *** -->
<target name="bkup" >
<!--
<copy todir="${bkup.path}${DSTAMP}${TSTAMP}">
<fileset dir="${syncronize.target.path}" />
</copy>
-->
<zip destfile="${bkup.path}${DSTAMP}${TSTAMP}.zip" basedir="${syncronize.target.path}" />
</target>
<target name="syncronize" depends="bkup">
<exec executable="${syncronize.command}" os="${os.name}" output="${syncronize.log.path}${DSTAMP}${TSTAMP}.log">
<arg line=" ${syncronize.option} '${syncronize.src.path}' '${syncronize.target.path}'" />
</exec>
</target>
</project>
0 件のコメント :
コメントを投稿