在使用像Hudson/Jenkins这样的CI工具时,如何使用GitHub(或GitHub企业)成功使用Maven版本插件

 红烧大青虫 发布于 2022-12-10 16:29

在使用像Hudson/Jenkins这样的CI工具时,如何使用GitHub(或GitHub企业)成功使用Maven版本插件

遇到的问题是

如果pom.xml位于子文件夹而不是顶级文件夹中,则Maven不会提交.由于此后续构建失败,标记名称已存在.

尽管在运行CI作业的源服务器之间设置了公钥认证,但git push失败并出现以下错误之一

公钥验证失败

未知的服务git

SathiyaS.. 6

有许多事情需要正确才能发挥作用.

    为了使pom.xml的子文件夹提交起作用,该错误在Maven release插件2.5.1中得到解决.获取最新的依赖项.以下部分显示了pom.xml

    
        org.apache.maven.plugins
        maven-release-plugin
        2.5.1
    
        
            
                org.apache.maven.scm
                maven-scm-provider-gitexe
                1.9.2
            
        
    
        
            
                pom.xml
            
        
    
    

    在pom.xml中正确配置SCM部分.要使公钥认证正常工作,请使用SSH协议.对于https协议,将需要用户/密码,此答案不包括此内容.应该可以通过在servers部分的Maven settings.xml中提供user/pwd来实现.

    
        scm:git:ssh://github.com/org/repo.git
        https://github.com/org/repo
        HEAD
    
    

    在源服务器中创建一个名为git的用户.如果您像任何其他用户一样运行,则developerConnection url将需要git@github.com而不是github.com.Maven将尝试在git push命令中放置一个git:******,它因服务未知而失败.如果您使用任何其他用户SSH到github,它将拒绝公钥验证失败.

    使用git作为用户,生成SSH密钥并按照以下简单步骤进行配置

    https://help.github.com/articles/generating-ssh-keys/

    编辑您的Hudson/Jenkins工作,如下所示

    在源代码管理部分下,提供git repo的URL.您可能需要将git作为协议,因为某些CI安装不支持https.

    在分支机构中提及您的分支以构建(例如开发)

    单击高级并在"结帐/合并到本地分支(可选)"部分中添加相同的分支名称

使用maven目标运行你的工作清理编译版本:准备和发布:执行.它应该工作.

1 个回答
  • 有许多事情需要正确才能发挥作用.

      为了使pom.xml的子文件夹提交起作用,该错误在Maven release插件2.5.1中得到解决.获取最新的依赖项.以下部分显示了pom.xml

      <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-release-plugin</artifactId>
          <version>2.5.1</version>
      
          <dependencies>
              <dependency>
                  <groupId>org.apache.maven.scm</groupId>
                  <artifactId>maven-scm-provider-gitexe</artifactId>
                  <version>1.9.2</version>
              </dependency>
          </dependencies>
      
          <configuration>
              <checkModificationExcludes>
                  <checkModificationExclude>pom.xml</checkModificationExclude>
              </checkModificationExcludes>
          </configuration>
      </plugin>
      

      在pom.xml中正确配置SCM部分.要使公钥认证正常工作,请使用SSH协议.对于https协议,将需要用户/密码,此答案不包括此内容.应该可以通过在servers部分的Maven settings.xml中提供user/pwd来实现.

      <scm>
          <developerConnection>scm:git:ssh://github.com/org/repo.git</developerConnection>
          <url>https://github.com/org/repo</url>
          <tag>HEAD</tag>
      </scm>
      

      在源服务器中创建一个名为git的用户.如果您像任何其他用户一样运行,则developerConnection url将需要git@github.com而不是github.com.Maven将尝试在git push命令中放置一个git:******,它因服务未知而失败.如果您使用任何其他用户SSH到github,它将拒绝公钥验证失败.

      使用git作为用户,生成SSH密钥并按照以下简单步骤进行配置

      https://help.github.com/articles/generating-ssh-keys/

      编辑您的Hudson/Jenkins工作,如下所示

      在源代码管理部分下,提供git repo的URL.您可能需要将git作为协议,因为某些CI安装不支持https.

      在分支机构中提及您的分支以构建(例如开发)

      单击高级并在"结帐/合并到本地分支(可选)"部分中添加相同的分支名称

    使用maven目标运行你的工作清理编译版本:准备和发布:执行.它应该工作.

    2022-12-11 03:08 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有