Сведения о вопросе

Fhohir

00:52, 20th August, 2020

Теги

Задание дополнительного аругмента для ant или phing

Просмотров: 437   Ответов: 3

Вопрос ко всем, кто использует ant или phing.
Я хочу написать сценарий, который будет деплоить некоторый проект на сервер. При этом, в строке запуска задачи я хочу иметь возможность указать переменную, которая будет указывать в каком окружении я собираюсь выполнять деплой (тестовое, продакшн и т.п). Хочется, чтобы это выглядело примерно следующим образом:
phing deploy test
Где deploy — это имя задачи, естественно, а test — это переменная, указывающая на окружение.

Мой вопрос: как в ant или phing можно перехватить значение второго аргумента (после имени задачи)?



  Сведения об ответе

dumai

06:39, 2nd August, 2020

Может в анте отдельные задачи сделать? Сколько там у вас видов деплоя…


  Сведения об ответе

PROGA

02:25, 10th August, 2020

Можно phing-у передать параметры через -D. Не очень красиво выглядит — зато без костылей ИМХО
	<target name="test_env">
		<echo>${environment}</echo>
	</target>

m00t@m00t:~/***$ phing test_env -Denvironment=test1
Buildfile: ****/build.xml

**** > test_env:

     [echo] test1

BUILD FINISHED

Total time: 0.0969 seconds


  Сведения об ответе

baggs

12:16, 23rd August, 2020

Для ant-а: (большая часть вырезана)
ant [options] [target [target2 [target3] ...]]
Options:
  -D<property>=<value>   use value for given property
  -propertyfile <name>   load all properties from file with -D

ant.apache.org/manual/running.html

Но отдельные цели, по-моему, более понятны. Еще вариант — создать псевдоцели действие которых будет сводится к установке нужных свойств и вызову нужной цели.

P.S. Когда выбирал между phing-ом и ant-ом остановился на последнем, т.к. (1) более универсален и (2) имеет полноценную поддержку в eclipse.


Ответить на вопрос

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться