【问题标题】:How to use jenkins pipeline with nvm wrapper plugin?如何将 jenkins 管道与 nvm 包装器插件一起使用?
【发布时间】:2018-04-27 14:52:00
【问题描述】:

我正在使用管道 (Jenkinsfile),我需要更改节点版本。我添加了 Nvm Wrapper 插件,但我不知道如何从 Jenkinsfile 正确使用它

我应该在steps 中添加nvm('...') {} 吗?还是应该在node 步骤中的某个顶层? 目前我什至没有 node 步骤 - 一切都是使用 sh 完成的

【问题讨论】:

  • 你最后有没有进一步了解这个?
  • @OACDesigns 我添加了我的答案
  • 谢谢,我有类似的东西,但一直收到一个神秘的错误:“错误:无法分叉 bash”。也许我明天再试一次。

标签: node.js jenkins jenkins-plugins jenkins-pipeline


【解决方案1】:

什么对我有用:

pipeline {
  agent any

  stages {
    stage("Build") {
      steps {
         nvm(nvmInstallURL: 'https://raw.githubusercontent.com/creationix/nvm/v0.33.2/install.sh', 
             nvmIoJsOrgMirror: 'https://iojs.org/dist',
             nvmNodeJsOrgMirror: 'https://nodejs.org/dist', 
             version: '8.1.2') {
                    sh "npm install"
                    echo "Build main site distribution"
                    sh "npm run build:dist"
              }
           }
        }
    ...

【讨论】:

  • 几天后我重新启动了我的虚拟机,然后它就无法工作了。调试 2 小时后,我发现我在重新启动时找到了 source ~/.nvm/nvm.sh。这不是一个很好的部署方式。所以我切换到wiki.jenkins.io/display/JENKINS/NodeJS+Plugin
【解决方案2】:

我最终使用了它,它也适用于 .nvmrc 文件

sh 'bash -l -c ". $HOME/.nvm/nvm.sh ; nvm use || nvm install && nvm use"' 

这需要在 jenkins 主文件夹中安装 nvm。但是添加一个先在正确位置下载 nvm 的步骤会很容易。

【讨论】:

    【解决方案3】:

    这对我有用

    sh 'bash -l -c ". $HOME/.nvm/nvm.sh ; nvm use <version> || nvm install <version> && nvm use <version> "' 
    

    示例:

    sh 'bash -l -c ". $HOME/.nvm/nvm.sh ; nvm use 8.0 || nvm install 8.0 && nvm use 8.0 "' 
    

    【讨论】:

      猜你喜欢
      • 2018-01-29
      • 2019-08-02
      • 1970-01-01
      • 2020-04-28
      • 2013-10-26
      • 1970-01-01
      • 2017-12-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多