我在使用Jenkins自动化部署项目的时候,出现了如下的错误,以前从来没有遇到过这种情况,经过反复多次的百度、Google,终于找到了可行的解决方案,现记录下来,以便日后的查阅!!
error NU3028: Package 'Microsoft.Extensions.Logging.Abstractions 5.0.0' from source 'https://api.nuget.org/v3/index.json': The author primary signature's timestamp found a chain building issue: UntrustedRoot: self signed certificate in certificate chain [/var/jenkins_home/workspace/boyun_api/BoyunCloud.Api.sln]
error NU3037: Package 'Microsoft.Extensions.Logging.Abstractions 5.0.0' from source 'https://api.nuget.org/v3/index.json': The author primary signature validity period has expired. [/var/jenkins_home/workspace/boyun_api/BoyunCloud.Api.sln]
第一步:
docker exec -it --user root (container id )/bin/bash # 以root角色进行容器
第二步:
apt update && apt upgrade # 对系统进行依赖库升级
第三步:
如果你的Dockerfile文件看起来类似于这样:
FROM mcr.microsoft.com/dotnet/sdk:5.0
请将其修改为
FROM mcr.microsoft.com/dotnet/aspnet:5.0-buster-slim AS base
同时,NuGet团队发布了新的预览版Debian镜像,解决了ca证书问题。
第四步:
进入Jenkins容器的控制台,执行以下代码:
curl -o /usr/local/share/ca-certificates/verisign.crt -SsL https://crt.sh/?d=1039083 && update-ca-certificates
运行成功之后,再使用Jenkins重新构建netcore项目,正常。
在编译过程中,可能还会出现一个错误,比如:
docker: error while loading shared libraries: libltdl.so.7: cannot open shared object file: No such
解决方法:
apt-get update && apt-get install -y libltdl7
指令说明:升级Jenkins镜像的Docker命令:
docker run -u root --rm -d -p 90:8080 \
--name jenkins-v2 \
-v /etc/localtime:/etc/localtime \
-v /usr/bin/docker:/usr/bin/docker \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /home/data/jenkins_home:/var/jenkins_home \
registry.cn-hangzhou.aliyuncs.com/bcvp/jenkins_with_dntcore3.1_5.0_6.0-cnpm_by_docker:latest
知识点说明:
升级Jenkins镜像,支持.NET6.0BCVP正式环境已经升级倒.NET 6.0。https://mp.weixin.qq.com/s/lNGVaFWMo19JC0QTud5EfA
docker run -d --restart=always --name=spug \
-p 90:80 -v /home/data/spug:/data \
registry.aliyuncs.com/openspug/spug
告别了Jenkins,我将开源的所有项目迁移到了Spughttps://mp.weixin.qq.com/s/DKUm4AWTp9Ss8FXgcXRbdg