Jenkins配置自动化构建的几个问题

  • 在创建构建任务时,填写git远程仓库地址时,出现以下报错

Jenkins配置自动化构建的几个问题_第1张图片

解决此报错先排查一下linux机器上的git版本

git --version

如果git 版本过低,可能会导致拉取失败,此时需要下载更高的git版本。

参考 Git安装

第二个解决办法报错信息中也有了,那就是当前仓库可能是一个私有仓库,不是公开的仓库,如果要拉取代码,必须提供此仓库的用户名密码。

Jenkins配置自动化构建的几个问题_第2张图片
Jenkins配置自动化构建的几个问题_第3张图片

输入git远程仓库对应的用户名和密码即可。

  • jenkins 构建SpringBoot项目时解析pom文件报错
Parsing POMs
ERROR: Failed to parse POMs
org.apache.maven.project.ProjectBuildingException: Some problems were encountered while processing the POMs:
[FATAL] Non-resolvable parent POM for com.example:jenkins-test:0.0.1-SNAPSHOT: org.springframework.boot:spring-boot-starter-parent:pom:2.7.14 failed to transfer from http://0.0.0.0/ during a previous attempt. This failure was cached in the local repository and resolution is not reattempted until the update interval of maven-default-http-blocker has elapsed or updates are forced. Original error: Could not transfer artifact org.springframework.boot:spring-boot-starter-parent:pom:2.7.14 from/to maven-default-http-blocker (http://0.0.0.0/): Blocked mirror for repositories: [alimaven (http://maven.aliyun.com/nexus/content/groups/public/, default, releases)] and 'parent.relativePath' points at no local POM @ line 5, column 13

	at org.apache.maven.project.DefaultProjectBuilder.build(DefaultProjectBuilder.java:397)
	at hudson.maven.MavenEmbedder.buildProjects(MavenEmbedder.java:370)
	at hudson.maven.MavenEmbedder.readProjects(MavenEmbedder.java:340)
	at hudson.maven.MavenModuleSetBuild$PomParser.invoke(MavenModuleSetBuild.java:1330)
	at hudson.maven.MavenModuleSetBuild$PomParser.invoke(MavenModuleSetBuild.java:1124)
	at hudson.FilePath.act(FilePath.java:1200)
	at hudson.FilePath.act(FilePath.java:1183)
	at hudson.maven.MavenModuleSetBuild$MavenModuleSetBuildExecution.parsePoms(MavenModuleSetBuild.java:985)
	at hudson.maven.MavenModuleSetBuild$MavenModuleSetBuildExecution.doRun(MavenModuleSetBuild.java:689)
	at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:524)
	at hudson.model.Run.execute(Run.java:1897)
	at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:543)
	at hudson.model.ResourceController.execute(ResourceController.java:101)
	at hudson.model.Executor.run(Executor.java:442)
Finished: FAILURE

从上面jenkins报错信息中也可以看出来大概是maven镜像除了问题,maven从镜像中拉取不到spring-boot-starter-parent这个依赖,这里有可能是因为jenkins的规则问题,在maven的settings.xml文件配置了两个镜像

	  <mirror>
      <id>alimavenid>
      <name>aliyun mavenname>
      <url>http://maven.aliyun.com/nexus/content/groups/public/url>
      <mirrorOf>centralmirrorOf>        
    mirror>

    <mirror>
      <id>maven-default-http-blockerid>
      <mirrorOf>external:http:*mirrorOf>
      <name>Pseudo repository to mirror external repositories initially using HTTP.name>
      <url>http://0.0.0.0/url>
      <blocked>trueblocked>
    mirror>

springboot的依赖没有从阿里云的镜像拉取,而是从默认的镜像拉取,导致一直拉取不到,这里把下面的那个默认镜像注释了就可以了。

  • 总结

上述两个问题其实都可以从报错信息中大概可以解读出来问题的定位,第一个git问题提示的是password incorrect Access Denied。也就是认证相关的报错问题,大概可以想到git仓库的类似,为jenkins提供git的用户名密码等,第二个报错是jenkins解析pom文件时报的错,还定位到了具体的行和列,这里容易让人产生误导,总是以为pom文件写的有问题,可以本地运行的时候明明是完全没问题的,要不是后面提示了获取镜像,根据不会去考虑settings文件的问题,这也是一些解决问题的经验吧,仔细阅读报错信息。

你可能感兴趣的:(CI/CD,jenkins,自动化,运维)