我们曾经使用Jenkins作为我们的CI工具,我可以在Jenkins windows slave中运行shell脚本,步骤是:
1.在Windows从机上安装cygwin
2.在Jenkins中添加步骤作为shell脚本
3.添加“导出路径=/cygdrive/c/dev/tools/cygwin/bin:$PATH“作为第一行
我就可以在Jenkins中执行任何shell脚本。
现在我们需要移动到团队城市,我发现上面的步骤对团队城市不起作用。
当我运行“命令行”并将第一行设置为“export PATH=/cygdrive/c/dev/tools/cygwin/bin:$PATH”时,它给我一个错误,因为“”export“不被识别为内部或外部命令”。
有什么办法可以解决这个问题吗?我不想把shell脚本重写到cmd中。
3条答案
按热度按时间xxslljrj1#
很有可能你已经用Git Bash在代理上安装了Git。下面是我如何在不修改
PATH
变量的情况下运行npm
命令tmb3ates2#
使用此命令,您可以运行shell/bash命令:-“C:\Program Files\Git\bin\bash.exe”-c“cd源代码&& npm安装&& npm运行构建”
在Powershell中,如果您想运行bash脚本:
& 'C:\程序文件\Git\bin\bash.exe'.\构建. sh
zbsbpyhn3#
这个问题很容易解决,当然错误不是来自Cygwin,而是来自CMD,
export
命令只在Bash脚本中有意义;CMD不知道该怎么处理它。您需要做的只是向CMD指定脚本应该使用Cygwin的命令解释器(
bash
)运行,因此您可以指定bash
可执行文件和脚本的长路径,如下所示或者你可以把cygwin目录的路径添加到你机器的PATH变量中。你可以通过改变系统设置并把路径附加到那里来完成这个操作,或者你可以把它作为你上面脚本的一部分来完成这个操作: