所以我有一个MEAN应用程序正在运行,我正在研究一个持续集成解决方案。我已经成功地将Jenkins启动并运行了Web钩子,当合并发生时,它从一个bitbucket仓库中获取我的项目。Jenkins和NodeJS
现在我没有任何测试,所以Jenkins只运行一些'部署'服务器的shell命令。这很棒。我的目标是让这个运行测试,如果失败,就会失败部署。
所以我的问题是,构建永远不会完成。我的目标是当它完成时它将保持服务器运行或部署它并保持运行。 这里是我运行一个构建被启动的shell命令。
npm install
npm install bower
bower install
npm install grunt-cli
grunt prod
node server
并成功运行在服务器等,但该node server
命令被执行
后,它只是挂起了我如何使它所以詹金斯认为这是成功的,然后部署呢?我没有太多运气爬过互联网。
编辑:
所以看着一些文档等等。我需要将我的测试配置为在构建运行时运行。如果没有测试,那么它会通过(默认)......所以我需要的是,当发生这种情况时,jenkins需要运行一个部署脚本。在詹金斯环顾四周后,我仍然无法弄清楚如何去做。
编辑#2 因此,将这些shell脚本移出构建允许它完成并且“成功”,因为没有测试存在。我看到jenkins将项目保存在工作区目录中。有没有办法让jenkins从那里部署或某种其他应用程序来部署该工作区中的构建?
感谢