Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从PHP运行Ant build.xml_Php_Ant_Mediawiki - Fatal编程技术网

从PHP运行Ant build.xml

从PHP运行Ant build.xml,php,ant,mediawiki,Php,Ant,Mediawiki,可以从PHP或网页运行Ant的build.xml吗? 有时BAs想进行构建和部署,我想通过MediaWiki页面实现。MediaWiki在windows XAMPP上运行。 有没有MediaWiki插件或更好的解决方案 接下来我还要传递一些build.xml变量。PHP的shell_exec()函数可以用来调用shell中的命令。因此,您可以编写一个简单的shell脚本,将其cd放到正确的目录中,设置任何环境变量并触发构建,然后从PHP调用该脚本: do_build.sh(位于/home/use

可以从PHP或网页运行Ant的build.xml吗?
有时BAs想进行构建和部署,我想通过MediaWiki页面实现。MediaWiki在windows XAMPP上运行。
有没有MediaWiki插件或更好的解决方案 接下来我还要传递一些build.xml变量。

PHP的shell_exec()函数可以用来调用shell中的命令。因此,您可以编写一个简单的shell脚本,将其cd放到正确的目录中,设置任何环境变量并触发构建,然后从PHP调用该脚本:

do_build.sh(位于/home/user/bin/do_build.sh)

myscript.php(通过网页调用)

myscript.php(通过网页调用)


PHP的shell_exec()函数可用于调用shell中的命令。因此,您可以编写一个简单的shell脚本,将其cd放到正确的目录中,设置任何环境变量并触发构建,然后从PHP调用该脚本:

do_build.sh(位于/home/user/bin/do_build.sh)

myscript.php(通过网页调用)

myscript.php(通过网页调用)



同样的事情也适用于Windows,您只需要一个批处理文件而不是shell脚本。我将更新答案,以显示如何在批处理文件中执行此操作,但我已经写了一段时间了:)我也可以将变量值传递给批处理文件吗?是的,可以传递参数。中引号之间的所有内容都是命令。因此,您可以执行shell_exec(“C:\\do_build.bat ARGS GO HERE”),这与运行C:\do_build.bat ARGS GO HERE是一样的。同样的事情也可以在Windows上运行,您只需要一个批处理文件而不是一个shell脚本。我将更新答案,以显示如何在批处理文件中执行此操作,但我已经写了一段时间了:)我也可以将变量值传递给批处理文件吗?是的,可以传递参数。中引号之间的所有内容都是命令。因此,您可以执行shell_exec(“C:\\do_build.bat ARGS GO HERE”),这与运行C:\do_build.bat ARGS GO HERE是一样的。
cd /path/to/build/dir
# Set any environment variables here
export MYVAR=somevalue
ant build
<?php
shell_exec("/home/user/bin/do_build.sh");
?>
cd "C:\path\to\build\dir"
REM Set any environment variables here
set MYVAR=somevalue
ant build
<?php
shell_exec("C:\\do_build.bat");
?>