在gocdpipe道上运行nodejs命令

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

问题是代理不知道npm

Note:我在安装了go代理的机器上安装了npm,并且手动从pipe道运行了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. 

问题

假设您在代理上安装了npm / nodejs,则问题可能在于用户没有将其PATH环境variablesconfiguration为查看已安装的npm文件夹。

1)创build任务时可以指定整个path (/ usr / bin / npm)。

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

示例工作configuration

在这里输入图像说明

考虑修改代理初始化脚本。 更改运行gocd代理的用户的.bashrc / .bash_profile不起作用,因为go代理将自己与呼叫环境隔离。 所以在我们的系统中,我们将这些PATH项目添加到代理启动脚本。 (我使用木偶来创build代理,默认的代理初始化脚本不太好 – 你需要拥有它们。)

Interesting Posts