Как быстрее всего развернуть контент в CDN с целью Ant? Моя цель Ant работает на сервере непрерывной интеграции (Hudson). В моем текущем решении используется завиток, и оно немного медленное. Должен ли я использовать wput или что-то еще и как мне это сделать в ant?
<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 для одновременной передачи нескольких взаимоисключающих наборов файлов. Например, если в выходной папке есть три подпапки, каждая из них может быть отдана отдельной параллельной задаче, и каждая из них будет перебирать файлы, вызывая curl для каждого файла, чтобы передать его на cdn. http://ant.apache.org/manual/Tasks/parallel.html
2) написать пользовательскую задачу ant (bash-скрипт?), которая будет иметь локальные знания о сборке, чтобы любые файлы, которые были изменены последней сборкой, были отмечены, и только эти файлы будут переданы. Это предотвратит отправку файла, который уже находится на cdn.
3) прочитать удаленный каталог с cdn и использовать временные метки, чтобы определить, какие файлы отправлять. Это может быть невозможно в зависимости от cdn и от того, разрешает ли он такие запросы. Я надеялся, что wput сможет это сделать, но я не вижу для этого возможности. http://wput.sourceforge.net/wput.1.html