什么是与Ant目标内容部署到一个CDN的最快方式是什么?我的Ant目标是持续集成服务器(哈德森)上运行。我目前的解决方案使用卷曲,是有点慢。我应该使用wput或别的东西,我会怎么做,在蚂蚁?

<target name="Deploy">
<for param="file"> 
    <path> 
        <fileset dir="${basedir}/output" includes="**/*"/>
    </path>
    <sequential> 
        <echo> Deploy @{file} </echo>
        <exec executable="curl"> 
           <arg value="-F name=value"/>  <!-- params for secure access -->
           <arg value= "-F file=@{file}"/> 
           <arg value="http://cdn.com/project"/>
        </exec>
    </sequential> 
</for>
</target>

若干构想有拿出加快内容转移到CDN

1)最大出通过使用平行ant任务到管带宽同时传输几个相互排斥的文件集。例如,如果在输出文件夹三个子文件夹,每个可以提供给不同的并行任务,每个将通过文件迭代,要求每个文件卷曲将它转移到CDN。 http://ant.apache.org/manual/Tasks/parallel.html

2)写一个定制Ant任务(bash脚本?),将有关于构建当地的知识,使得由上次生成更改任何文件被标记,并只对这些文件会被转移。这将防止发送一个文件,是已经在CDN。

3)读取来自CDN远程目录和使用时间戳来确定要发送的文件。这取决于CDN,以及是否允许这样的查询可能是不可能的。我希望wput能做到这一点,但我没有看到该选项。 http://wput.sourceforge.net/wput.1.html

有帮助吗?

解决方案

分辨

我发现标题为“部署资产亚马逊博客S3使用Ant 的”,这是非常有用的。它使用python脚本“ s3cmd同步”只在目的地转移不存在的文件。

我结束了这个目标蚂蚁:

<target name="s3Upload">

<property name="http.expires" value="Fri, 31 Dec 2011 12:00:00 GMT" />
<exec executable="${PYTHON_DIR}\python.exe" failonerror="true">
  <arg value="${PYTHON_DIR}\Scripts\s3cmd" />
    <arg value="--guess-mime-type" />
    <arg value="--add-header=Cache-Control:public, max-age=630657344" />
    <arg value="--add-header=Expires:${http.expires}" />
    <arg value="--encoding=UTF-8" />
    <arg value="--skip-existing" />
    <arg value="--recursive" />
    <arg value="--exclude=*.log" />
    <arg value="--acl-public" />
    <arg value="sync" />
    <arg value="${CDN_DIR}/" />
    <arg value="s3://my-project-cdn/" />
  </exec>

</target>
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top