在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代理,默认的代理初始化脚本不太好 – 你需要拥有它们。)