1

所以我有一个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从那里部署或某种其他应用程序来部署该工作区中的构建?

感谢

回答

1

所以我落得这样做简单的东西,但林不知道,如果它的最佳实践..

詹金斯有网络挂接到我的到位桶回购和手表驶进主。这然后踢我的詹金斯建立它运行

npm install bower 
bower install 
npm install grunt-cli 
grunt prod 

它建立的项目。然后我安装了nodemon,它监视最后一个“成功构建”文件夹从那里运行服务器。当它刷新时,服务器重新启动。迄今为止,这似乎运行得非常顺利。