問題描述
前端開發人員使用多種版本NodeJS環境進行開發,並使用NVM自如切換版本。在使用Jenkins構建時,也應該使用對應版本進行構建。本文將介紹在Jenkins Pipeline中,如何使用不同NodeJS版本進行構建任務。
解決方法
第一步、安裝插件
可以使用 NodeJS 插件,網絡教程詳盡,不再贅述。
第二步、配置版本
Manage Jenkins => Global Tool Configuration => NodeJS => NodeJS installations... => Add NodeJS
記住Name字段,它用於標識NodeJS環境,需要在流水腳本中使用。其他字段按照提示填寫信息即可,不再贅述。
第三步、(可選)定義npmrc文件
Manage Jenkins => Managed files => Add a new Config => Npm config file
記住ID字段(可自定義),它用於標識配置文件,需要在流水腳本中使用。其他字段按照提示填寫即可,不再贅述。
第四步、在流水中使用
nodejs(nodeJSInstallationName: '<Name>', configId: '<ID>') { sh 'npm config ls' }
其他方法
nvm-wrapper
也可以使用 nvm-wrapper 插件,使用方法可以參考插件主頁。
我們並沒有成功,后來我們使用 NodeJS 插件。可能是因為我們全局設置PATH環境變量,導致無法加載NVM設置的PATH變量。
相比之下,我們還是選用NodeJS插件:(1)可以加載任意npmrc文件;(2)與Jenkins結合緊密,封裝少,項目相對活躍;(3)功能豐富,可全局安裝模塊。
相關文章
「Jenkins Pipeline」- 執行 Shell 命令
「Jenkins Pipeline」- SSH
「Jenkins Pipeline」- 常見問題處理
「Jenkins」- 發送 Jabber (XMPP) 通知
「Jenkins Pipeline」- 在構建過程中,提示用戶輸入
「Jenkins Pipeline」- 發送 Slack 通知
「Jenkins Pipeline」- 使控制台彩色化輸出(使用 AnsiColor 插件)
「Jenkins Pipeline」- 獲取自上次成功構建之后的變更