gpt4 book ai didi

node.js - 本地运行的 Mocha 测试无法在 Jenkins 上运行(环境问题)

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

我目前正在尝试使用 Jenkins 为一个使用 mocha 进行单元测试的 emberjs Node 项目实现 CI。我在 Amazon EC2 服务器上运行 Jenkins。

当我在本地运行 mocha(在我的桌面上和 ec2 服务器上)时,我得到:

./node_modules/mocha/bin/mocha 
Initializing server on port 8090


Unit Test for /test
test API call incoming
key res value is: test!
✓ gives a json object with res: test!


1 passing (35ms)

但是,当我设置 Jenkins 来运行相同的命令时:

01:44:46 + ./node_modules/mocha/bin/mocha
01:44:46
01:44:46 /var/lib/jenkins/workspace/Rekindle2_Node/server/routes/test/getTest.js:4
01:44:46 const getTest = (req, res) => {
01:44:46 ^
01:44:46 SyntaxError: Unexpected token >
etc

我已经仔细检查过,package.json 包含我需要的所有内容,并且我知道我没有全局安装任何可以更改内容的内容(因为我设法从 ec2 进行 git clone、npm install 和运行 mocha实例)。我所知道的是, Jenkins 有时会在从运行它的服务器上使用环境变量时遇到问题?有谁知道我遇到的问题可能是什么?我也尝试过卸载并重新安装 Node ,这可能是 Jenkins 正在查看较旧的 Node 安装,而 ec2 则不是。有什么办法可以告诉这个吗?如何查看特定构建的环境变量?

最佳答案

看起来 Jenkins 使用的是旧版本的 node.js。为了确认这一点,我将向您的 Jenkins 作业添加日志记录。 node --version 将打印 Jenkins 识别的 Node.js 版本。此外,如果您对环境感兴趣,Jenkins Web ui 中有一个 View 可以显示特定构建的环境。或者您可以在 Jenkins 构建脚本中添加 env 作为一行来打印当前的环境变量。如果事实证明是node.js版本问题,我会考虑使用插件来管理您的nodejs版本:node.js Jenkins plugin

关于node.js - 本地运行的 Mocha 测试无法在 Jenkins 上运行(环境问题),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37904414/

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