【问题标题】:Jenkins-Publish over SSH plugin: Getting error on npmJenkins-Publish over SSH 插件:在 npm 上出现错误
【发布时间】:2019-10-31 21:06:03
【问题描述】:

我正在尝试使用 Jenkins 为我的 node.js 应用程序设置 CI/CD 管道。

我要做的是通过 jenkins 登录到我的应用程序服务器,并在通过 ssh 插件发布的帮助下执行服务器上的命令 (https://wiki.jenkins.io/display/JENKINS/Publish+Over+SSH+Plugin)。

我选择了Send Files or Execute commands over SSH 选项并在Exec command 部分添加了以下命令。

cd <project-folder> && git pull origin master && npm install

我收到类似npm not found 的错误,但我尝试直接在服务器上没有错误。

所以我认为 jenkins 存在权限问题,但我找不到解决方案

【问题讨论】:

  • 这也可能是路径问题,尝试添加sh 'env'打印当前环境变量。

标签: node.js jenkins npm jenkins-plugins


【解决方案1】:

是的,您正确识别了问题......它的权限问题...... 我假设您已经在 jenkins 的“配置系统”部分的“SSH 远程主机”中添加了 root 登录详细信息。

  • 首先通过 github 中的 web hook 设置将 GIT repo 拉到 jenkins 工作区。希望你也成功了这一步

在“构建环境”中选择“使用 ssh 在远程主机上执行 shell 脚本”,然后使用以下

cd <project-folder>  (Ex: cd /var/lib/jenkins/workspace/<project-folder>)

npm install 

注意:您应该在服务器中提供完整的服务器路径以避免权限.. 如果您使用的是 localhost,那么当您使用“使用 ssh 在远程主机上执行 shell 脚本”时,它可能会起作用并且其他非常重要的,您应该访问仅通过 root 用户不使用 cpanel 帐户登录。这将避免权限问题。

安装 NPM 后,检查控制台日志是否“成功”,然后执行其他命令并建议删除“npm install”,因为多次安装会增加应用程序编译时间..

【讨论】:

    猜你喜欢
    • 2023-02-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-02
    • 2016-10-13
    • 2014-04-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多