gpt4 book ai didi

node.js - Jenkins 和 NodeJS

转载 作者:太空宇宙 更新时间:2023-11-04 00:48:46 30 4
gpt4 key购买 nike

所以我有一个 MEAN 应用程序正在运行,我正在寻找一个持续集成解决方案。我已经成功地让 Jenkins 启动并运行了网络钩子(Hook),当合并发生在 master 时,网络钩子(Hook)可以从 bitbucket 存储库中抓取我的项目。

现在我没有任何测试,因此 Jenkins 只是运行一些“部署”服务器的 shell 命令。这太棒了。我的目标是运行测试,如果失败则部署失败。

所以我的问题是构建永远不会完成。我的目标是当它完成时,它将保持服务器运行或部署它并保持它运行。以下是我在构建开始时运行的 shell 命令。

npm install
npm install bower
bower install
npm install grunt-cli
grunt prod
node server

它成功地运行了服务器等,但它只是在执行node server命令后挂起

我该如何做到这一点,以便 Jenkins 认为这是成功的,然后部署它?我在互联网上爬行但运气不佳。

编辑:
所以看一些文档之类的。我需要将测试配置为在构建运行时运行。如果没有测试,那么它会通过(默认情况下)...所以我需要的是当发生这种情况时,jenkins 需要运行部署脚本。在 Jenkins 环顾四周后,我仍然无法弄清楚如何做到这一点。

编辑#2因此,将这些 shell 脚本移出构建可以使其完成并且“成功”,因为不存在任何测试。我看到 Jenkins 将项目保存在工作区目录中。有没有办法让 Jenkins 从那里部署或某种其他应用程序在该工作区中部署该构建?

谢谢

最佳答案

所以我最终做的是一些简单的事情,但我不确定它是否是最佳实践..

Jenkins 有我的 bitbucket 存储库的 Webhook,并监视对 master 的拉取。然后这将启动我的 Jenkins 构建并运行它

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

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

关于node.js - Jenkins 和 NodeJS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33470211/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com