我写了这个脚本php-pull-script.php
:
<?php
$output1 = shell_exec('git pull');
$output2 = shell_exec('pkill java');
$output3 = shell_exec('mvn package');
$output4 = shell_exec('java -jar ./target/compute-0.0.1-SNAPSHOT.jar');
echo "<pre>$output1</pre>";
echo "<pre>$output2</pre>";
echo "<pre>$output3</pre>";
echo "<pre>$output4</pre>";
?>
在shell中执行时,我没有看到任何输出以验证它是否正在运行。我不确定它是否有效。有没有更好的方法来执行此自动化脚本?
答案 0 :(得分:0)
您可能不在正确的工作目录中。您可能需要set that manually才能运行命令。否则,这些命令看起来正确。虽然你真的应该把它设置为shell脚本。 PHP不是这种语言的好语言,如果你从REST端点调用它,那么有更好的解决方案,如Jenkins。
答案 1 :(得分:0)
如何使用shell_exec发送java命令并让它在后台运行(是否可以使用shell exec)?
test.php的
<?php
shell_exec('test.sh');
test.sh
echo "Do something"
/bin/sh -c 'sleep 10' >> /dev/null 2>&1 &
exit 0
/dev/null
也可以是日志文件的路径这里test.php不会等待10秒钟。
希望有所帮助;)