2

我创建了一个新文件并在不同阶段运行gocd pipeline三个文件。shell script

问题是 go 代理不知道npm

Note:我使用 go agent 在机器上安装了 npm,并从管道手动运行 shell 脚本。

这是我安装软件包的 shell 脚本。

#!/bin/sh
npm install

错误:

01:34:43.674 [go] Start to execute task: <exec command="./install.sh" />.
01:34:43.680 ./install.sh: line 3: npm: command not found
01:34:43.814 [go] Current job status: failed.
4

2 回答 2

4

问题

假设您在代理上安装了 npm/nodejs,问题可能在于用户没有配置其 PATH 环境变量来查看安装 npm 的文件夹。

解决方案

1)您可以在创建任务时指定整个路径(/usr/bin/npm)。

2)您可以编辑运行gocd代理服务器的用户的.bashrc/.bash_profile。在这种情况下,您可以在不附加路径的情况下调用“/usr/bin/npm”。

示例工作配置

在此处输入图像描述

于 2016-12-19T06:55:40.933 回答
-1

考虑修改代理初始化脚本。更改运行 gocd 代理的用户的 .bashrc/.bash_profile 不起作用,因为 go 代理将自己与调用环境隔离。因此,在我们的系统上,我们将这些 PATH 项添加到 go 代理启动脚本中。(我使用 puppet 创建代理。默认的代理初始化脚本不是那么好 - 你需要拥有它们。)

于 2017-02-04T13:03:13.310 回答