Как запустить Phing target на основе текущей версии?
Как я могу создать скрипт сборки Phing, который будет обрабатывать развертывания, и перенести проект из его текущей версии в последнюю версию?
Предполагая, что я разбил свое развертывание на инкрементные обновления версий. Допустим, мой живой сервер работает под управлением версии 1, и я хочу развернуть версию 3
Сценарий сборки должен обновить версию 1 до версии 2, а затем с версии 2 до версии 3.
Так что скрипт сборки может выглядеть примерно так.
<project name="deploy">
<target name="version1">
<if_version_is_0>
..do update
</if_version_is_0>
</target>
<target name="version2" depends="version1">
<if_version_is_1>
..do update
</if_version_is_1>
</target>
<target name="version3" depends="version2">
<if_version_is_2>
..do update
</if_version_is_2>
</target>
<target name="build" depends="version3"/>
</project>
Моя проблема с линией
<if_version_is_##>
Как я могу сделать условие, основанное на текущей версии проекта?
Я нашел VersionTask в документации, но она справляется с увеличением номера версии. Мне нужно прочитать текущую версию в свойство или что-то подобное. Как это можно сделать?
1 ответ
Я думаю, что эта функция может делать то, что я хочу.
http://www.phing.info/docs/guide/stable/chapters/appendixes/AppendixB-CoreTasks.html
<loadfile property="version" file="version.txt"/>
Это позволит мне получить текущую версию в качестве свойства, которое я затем смогу использовать в качестве условия для выполнения обновления.