【问题标题】:Continuous integration and deployment of Node.js application on Bamboo在 Bamboo 上持续集成和部署 Node.js 应用程序
【发布时间】:2014-07-19 20:45:57
【问题描述】:
我想在 Bamboo 上实现持续部署的应用程序有 node modules 和 bower component 依赖项。在竹服务器nodejs上,已经安装了npm。
默认作业只有三个任务:
-
源代码签出
-
构建依赖:
npm install
bower install
-
部署到登台服务器
问题出在第二个任务上,竹子失败并显示消息“未找到失败的测试,可能发生了编译错误。”我什至不运行任何测试。
日志文件根本没有解释性:
“com.atlassian.bamboo.plugins.scripttask:task.builder.script”类型的启动任务“构建依赖项”
由于 [/bin/sh /home/ubuntu/bamboo-installation/temp/WEB-WEB-JOB1-8-ScriptBuildTask-4430338079602360707.sh] 的返回代码为 1 而预期为 0,因此任务失败
【问题讨论】:
标签:
node.js
continuous-integration
npm
bower
bamboo
【解决方案1】:
好的,我解决了这个问题。问题是在竹服务器上安装了wrong node(显然把事情搞砸了)。卸载了错误的,一切都按预期工作。
【解决方案2】:
很高兴看到你解决了。
我使用了一个设置,它可以防止 CI 出现进一步的问题:
export npm_config_prefix=.npm/
export PATH=.npm/bin:$PATH
export CI=true
npm install -g bower
bower install
npm install
这会在您的项目文件夹中安装 bower(如果您愿意,还可以安装其他类似 grunt-cli),以便您可以例如有一个特定版本,按照 bower 文档中的建议设置 CI=true,然后安装所有依赖项。
【解决方案3】:
Bamboo AMI 最初安装了 npm 版本 1.4.28,您可能在开发环境中使用更新的版本。我遇到了同样的问题,并通过在构建过程的一开始创建一个脚本任务来更新 npm 版本来解决它。这是脚本:
# update npm
curl -O -L https://npmjs.org/install.sh
chmod +x install.sh
sudo PATH=$PATH:/opt/node-0.10/bin ./install.sh