我在Jenkins工作,在那里构建Web应用程序并通过命令启动它:
grunt server
但是当我这样做时,Jenkins的构建不会因为服务器仍然在提示符中运行而完成:
Running "connect:livereload" (connect) task
Started connect web server on localhost:80.
Running "open:server" (open) task
Running "watch" task
那么,我如何在Jenkins中运行grunt服务器以便服务器仍然运行但构建成功完成?
答案 0 :(得分:0)
grunt server
命令通常通过节点打开本地服务器,您可以对其进行测试。如果您使用自己或其他人,则希望Jenkins运行grunt build
命令。
问题是watch
任务,它将继续运行以查找文件更改,并通过实时重新加载自动更新网页。它非常适合开发,但不适用于构建服务器。
答案 1 :(得分:0)
通过命令将进程发送到后台解决:
grunt server &
所以jenkins完成了成功的建设
答案 2 :(得分:0)
我仍然有这个问题,Jenkins无法使用以下任何命令成功构建:
grunt serve &
nohup grunt serve
nohup grunt serve > /dev/null 2>&1
但是要终止进程,我在复制新文件,npm install
等之前执行此命令。
kill -9 $(ps -aux | grep -v "grep" | grep grunt | awk '{print $2}')