使用管道插件在 jenkins 2.0 上安装节点

2024-01-06

我正在运行以下 docker 镜像jenkinsci/jenkins:2.0-rc-1尝试 jenkins 2.0 和“管道”视图。

我似乎无法安装节点。这是我的管道脚本:

node {
    //tool([name: 'node-5.10.1', type: 'jenkins.plugins.nodejs.tools.NodeJSInstallation'])
    sh 'echo $(whoami)'
    sh 'node -v'
}

运行时的响应是:

[ci] Running shell script
+ whoami
+ echo jenkins
jenkins
[Pipeline] sh
[ci] Running shell script
+ node -v
/../durable-3b0b1b07/script.sh: 2: /../durable-3b0b1b07/script.sh: node: not found

这是我尝试过的:

  • jenkins NodeJS 工具(与自由式作业一起使用时可以正常工作)

  • 对于同一用户,登录 docker 容器并手动安装节点:

UPDATE:

基于下面 Jesse Glick 的答案,我将结果添加到我的脚本中PATH:

node { 
    def nodeHome = tool name: 'node-5.10.1', type: 'jenkins.plugins.nodejs.tools.NodeJSInstallation'
    env.PATH = "${nodeHome}/bin:${env.PATH}"
    sh 'npm install'
}

Either

node {
  withEnv(["PATH+NODE=${tool name: 'node-5.10.1', type: 'jenkins.plugins.nodejs.tools.NodeJSInstallation'}/bin"]) {
    sh 'node -v'
  }
}

or

node {
  def nodeHome = tool name: 'node-5.10.1', type: 'jenkins.plugins.nodejs.tools.NodeJSInstallation'
  sh "${nodeHome}/bin/node -v"
}

应该管用。看JENKINS-28718 https://issues.jenkins-ci.org/browse/JENKINS-28718以获得进一步的建议。

顺便说一下,你可以省略type参数并使用

tool 'node-5.10.1'

为简洁起见。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用管道插件在 jenkins 2.0 上安装节点 的相关文章

随机推荐

  • 在 MATLAB 中对文本进行聚类

    我想在 MATLAB 中对文本进行层次凝聚聚类 说吧 我有四句话 I have a pen I have a paper I have a pencil I have a cat 我想把上面的四个句子聚类一下 看看哪个更相似 我知道统计工具
  • 在车把的助手中渲染模板

    因为这个问题似乎没有答案 通过车把部分传递变量 https stackoverflow com questions 11523331 passing variables through handlebars partial然而 我目前正在研
  • 与 Python 等效的字符串格式化,使用 Perl 中的字典和哈希值进行格式化

    我喜欢 Python 使用字典格式化字符串的方式 print key1 s and key2 s aDictObj 我想在 Perl 中使用哈希来实现同样的目标 有没有任何片段或小型库可以做到这一点 EDIT 感谢您尝试这个答案 至于我 我
  • 从 javascript 脚本重定向 document.write

    我们希望在我们的网站上投放广告 但与我们洽谈的广告服务器在为我们提供足够快的广告速度方面存在问题 我认为问题是我们应该包括我们要在其中显示广告 然后它将下载脚本并使用 document write 插入一些 html 问题是对广告商网站的调
  • 在 MySQL 数据库中存储 IP 地址(IPv4 和 IPv6)

    好吧 现在我知道类似的问题可能已经被问过一百万次了 但我在这方面是一个真正的新手 我真的很感谢你在这里的帮助 基本上 我想将访问者的 IP 地址存储在 MySQL 中 以便以后检索和验证 我首先需要知道需要使用什么类型的字段来存储 IP 地
  • 如何在android中将网站中的JSON对象解析为数组列表

    如何将 Web 链接中的 JSON 对象解析到 Android 中并将不同的值存储到 ArrayList 中 用户的 JSON 对象如下所示 它来自一个网站 Users name Kane lon 4 371645 lat 31 39691
  • 全局数据库连接参数的存储位置

    Perl 中是否有存储数据库连接参数和其他全局设置的约定 类似于 NET 的 config 文件 背景 我继承了一个基于 Perl 的大型应用程序 其中有一堆 CGI 脚本和几个后台服务 所有这些服务都有硬编码的数据库主机名 用户名和密码
  • 在matlab中读取文本文件(数据转换)

    我正在读取一个文本文件matlab 这是代码 allData textread file s delimiter n numericalArray cellfun s sscanf s f allData un 0 Get Header h
  • 触发下拉菜单的变化事件

    我想使用jquery触发 document ready中下拉列表的更改事件 我在用户详细信息页面中有一个国家和州的级联下拉菜单 我如何使用 C 在 MVC 中设置国家 地区和州的值 根据用户 ID 从数据库中获取 我不太了解 JQuery
  • AWS - Cloudfront - 如何使用 Origin 自定义标头

    我对 AWS 还很陌生 现在正在参加一些不同的培训课程 我偶然发现的有趣的事情之一是能够在 Cloudfront 中添加自定义标头 也就是说 我似乎无法弄清楚 或找到简单易懂的文档 如何使用 利用此功能提供的功能 有人可以告诉我如何 如何访
  • 将“Java.lang.String”转换为“oracle.sql.TIMESTAMPTZ”

    我有以下这些Java lang String代表的值String的价值TIMESTAMPTZ 我需要转换这些Java lang String TO oracle sql TIMESTAMPTZ 2016 04 19 17 34 43 781
  • 在 range-v3 中,如何从一对迭代器创建范围?

    给定一对传统的 开始 和 结束 迭代器 如何创建与 range v3 兼容的范围 假设我正在编写一个接受两个迭代器的通用函数 以与遗留代码兼容 struct result bool keep line const std string re
  • 如何通过 Heroku 上的 HTTPS 连接加载 Laravel L5 swagger UI

    我尝试在 Heroku 上加载我的 Laravel L5 swagger URL 但我得到了空白屏幕 在使用 chrome 检查检查视图时 我发现以下错误 https MY APP NAME herokuapp com api docume
  • 接受_嵌套属性_for & :reject_if。在家长协会保存之前如何防止拒绝?

    class Gift lt ActiveRecord Base has many contributions accepts nested attributes for contributions reject if gt proc a a
  • Three.js - 将飞机缩放至全屏

    我将一架飞机添加到场景中 如下所示 Camera this three camera new THREE PerspectiveCamera 45 window innerWidth window innerHeight 0 1 60 Pl
  • Cassandra:什么是子列

    http wiki apache org cassandra Cas sandraLimitations http wiki apache org cassandra CassandraLimitations 引用 Cassandra 有两
  • 使用 JavaScript 加载 HTML 模板

    我正在努力寻找一个干净的解决方案来解决我的问题 并且想知道是否有人可以提供一些提示 我有 templates html 其中包含我想要加载到 JavaScript 中并使用的 HTML 片段集合 记住 templates html 不是加载
  • ASP.NET 成员身份更改密码后旧密码仍然有效

    我在一个小网站中使用 ASP NET 成员身份验证 我刚刚在测试过程中注意到一些有趣的事情 我试图让用户能够随时更改其登录密码 我将更改密码控件拖到表单中 我更改了测试帐户的密码 但现在所有密码仍然有效 我可以使用旧密码登录 也可以使用此特
  • 如何在 Python 中使用 MATLAB 中的 unique(a, 'rows') ?

    我正在将一些内容从 MATLAB 翻译成 Python 语言 有这个命令 unique a 在NumPy http en wikipedia org wiki NumPy 但由于 MATLAB 程序也运行 rows 命令 因此它给出的结果略
  • 使用管道插件在 jenkins 2.0 上安装节点

    我正在运行以下 docker 镜像jenkinsci jenkins 2 0 rc 1尝试 jenkins 2 0 和 管道 视图 我似乎无法安装节点 这是我的管道脚本 node tool name node 5 10 1 type jen