Как запустить 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"/>

Это позволит мне получить текущую версию в качестве свойства, которое я затем смогу использовать в качестве условия для выполнения обновления.

Другие вопросы по тегам