Linux环境的Jenkins构建NetCore项目出现的问题 dotnet: 未找到命令

实验的机器是CentOS 7.9  。

Jenkins里自动编译.netcore项目的步骤:

1、Linux安装netcore 的sdk

可以看这篇文章https://www.cnblogs.com/puzi0315/p/15534427.html

2、在Linux里测试下效果:

dotnet --info
dotnet --version

一切正常。

3、在Jenkins里创建任务测试,“构建”部分的代码如下:


echo '============dotnet --info信息================'
dotnet --info
dotnet --version

则报错:信息如下:

/tmp/jenkins11995557596560651774.sh:行9: dotnet: 未找到命令
/tmp/jenkins11995557596560651774.sh:行10: dotnet: 未找到命令

 分析原因,

(1)sh脚本不支持dotnet命令,我写了个.sh脚本执行发现是正常了。这个点排查。

(2)JenKins调用的sh的版本所致。解决方案是在命令的最上部加一句话,指定使用bash 。(这种方案被证实也是不行的)

#!/bin/bash -il

完整的脚本如下:

#!/bin/bash -il

echo '============查看打包环境================'
pwd
ls
echo $PATH
whoami
echo '============dotnet --info信息================'
dotnet --info
dotnet --version

结果还是报错,

bash: dotnet: 未找到命令
bash: dotnet: 未找到命令

这就比较纠结了,问题还没有解决。又找了好多天,终于发现了个解决方案。

解决方案如下:

4、将linux的环境变量配置到jenkins中。

(1)、在linux中输入  echo $PATH

 (2)、找到jenkins的系统配置-->环境变量

 全局变量里设置PATH值即可。

“构建”里的代码还是如下图,再次构建就成功了。脚本不需要第一句的那句话也可以的。

其实我也不知道为啥就好了。难道是JenKins调用的sh所使用的路径,只用了其中一个路径所致?

原文地址:https://www.cnblogs.com/puzi0315/p/15550312.html