实验的机器是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: 未找到命令

Linux环境的Jenkins构建NetCore项目出现的问题---  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: 未找到命令

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

解决方案如下:

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

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

 

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

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

 

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

 

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

 

 

 

 

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

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

 

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

 

相关文章:

  • 2021-04-19
  • 2022-12-23
  • 2021-06-22
  • 2021-07-13
  • 2021-09-06
  • 2022-12-23
  • 2021-06-25
  • 2021-07-30
猜你喜欢
  • 2022-01-08
  • 2021-08-11
  • 2021-11-06
  • 2021-12-07
  • 2021-12-25
  • 2022-01-17
  • 2022-12-23
相关资源
相似解决方案