Jenkins“Multibranch Pipeline Project”教程错误

时间:2018-04-20 03:57:45

标签: jenkins jenkins-plugins jenkins-pipeline devops

我在Jenkins官方文档上关注this tutorial

  

本教程将向您展示如何使用Jenkins来编排构建和   使用Node Package测试一个简单的 Node.js React 应用程序   经理(npm),并为开发提供不同的结果   和生产目的。

一切都非常简单,但是当我在指南link here的“生产分支”部分“运行您的管道”时,我遇到了这个错误。

收到错误

+ sleep 1
+ ./node_modules/serve/bin/serve.js -c 0 -s build
/var/jenkins_home/workspace/Aviato-Team_production-OZ2WCGEMEZUSDYGKYBCG4BWFXFVS2KVB47HNPHOYCFLEP7JEO52Q/node_modules/serve/bin/serve.js:83

detect(port).then(async open => {
                  ^^^^^

SyntaxError: missing ) after argument list
    at createScript (vm.js:56:10)
    at Object.runInThisContext (vm.js:97:10)
    at Module._compile (module.js:549:28)
    at Object.Module._extensions..js (module.js:586:10)
    at Module.load (module.js:494:32)
    at tryModuleLoad (module.js:453:12)
    at Function.Module._load (module.js:445:3)
    at Module.runMain (module.js:611:10)
    at run (bootstrap_node.js:387:7)
    at startup (bootstrap_node.js:153:9)

+ echo 193
+ set +x

Now...
Visit http://localhost:5000 to see your Node.js/React application in action.
(This is why you specified the "args -p 5000:5000" parameter when you
created your initial Pipeline as a Jenkinsfile.)

我一步一步地使用他们自己的存储库和设置代码来跟踪他们的指南。我唯一改变的是,不是使用Git创建管道,而是使用GitHub,如上所述here in the guide

当我导航到http://localhost:5000时,没有显示任何内容。

需要注意的一些事项(如果有帮助):

  1. 我的docker已安装在Windows 10操作系统
  2. 我使用GitHub而不是Git(已经提到过)
  3. 教程使用BlueOcean创建管道
  4. 如何修复此错误?我还在学习并遵循本指南,所以由于这个错误是我无法控制的,我不知道如何修复它。

    编辑:如果有帮助,我的Win10机器上的终端正在输出:

    Apr 20, 2018 4:02:23 AM com.squareup.okhttp.internal.Platform$JdkWithJettyBootPlatform getSelectedProtocol
    INFO: ALPN callback dropped: SPDY and HTTP/2 are disabled. Is alpn-boot on the boot class path?
    Apr 20, 2018 4:04:40 AM org.jenkinsci.plugins.workflow.support.steps.input.POSTHyperlinkNote <init>
    WARNING: You need to define the root URL of Jenkins
    Apr 20, 2018 4:04:40 AM org.jenkinsci.plugins.workflow.support.steps.input.POSTHyperlinkNote <init>
    WARNING: You need to define the root URL of Jenkins
    

    Here's my GitHub如果您想查看生产分支代码。

2 个答案:

答案 0 :(得分:1)

看起来用于运行/构建项目的node.js版本不支持./node_modules/serve/bin/serve.js中使用的异步箭头函数构造。这应该在节点版本7.10.1及更高版本中得到支持。

您可能应该首先更改构建以包含node -v命令,以便检查节点版本是否确实存在问题。

如果是这种情况,您需要更新容器中的节点版本。如果您以前没有这样做,在Docker中执行此操作并非易事。我想说你最好的选择是通过在容器中启动shell并手动更新节点来更改当前容器的状态,或者根据jenkinsci/blueocean创建自己的Dockerfile。

答案 1 :(得分:0)

我知道这个问题有点老了,但是您需要将node:9-alpine中的docker镜像更新为Jenkinsfile

有关详细信息,请参见this documentation