前言
最近jekins节点满了,需要重装一个jekins(公司的jekins使用docker安装),安装完毕后配在setting.xml配置了阿里镜像以及公司的私有仓库,但是在本地运行项目没有任何异常,一旦使用jekins部署就发现了异常Blocked mirror for repositories
,从公司的私有仓库无法拉取依赖。
顺带提一下jekins容器setting.xml的位置 /var/jenkins_home/tools/hudson.tasks.Maven_MavenInstallation/maven/conf
//镜像
<mirror>
<id>alimaven</id>
<mirrorOf>central</mirrorOf>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
</mirror>
jekins报错异常
问题发现和解决
后来登录服务器,才发现是maven版本过高(超过了3.8.1) setting.xml中的mirror不支持http
造成的。
jekins容器中mvn命令的目录/var/jenkins_home/tools/hudson.tasks.Maven_MavenInstallation/maven/bin/
1、解决方法一
对于这个问题也很好解决重新再mirror中配置https
的镜像就可以了,如果没有https,可以使用Nginx配置一个就可以,或者直接降低maven的版本。
2、解决方法二
查看那些jar下载不下来,直接从本地仓库复制到jekins的仓库即可
如果仓库已经挂载出来直接复制到相关的挂载仓库即可,如果没有挂载那么就是用docker cp -a
复制即可
3、解决方法三
网络上提供了一个解决方法,在mirror中加上<blocked>true</blocked>
,我试了好像依然有错误,还需继续研究