当前位置: 首页 > 面试题库 >

禁止基于Maven的持续集成版本(Travis CI)的GPG签名

丌官博文
2023-03-14
问题内容

我正在使用Travis-CI为我正在研究的一些Java开源项目提供持续的集成构建。

通常这可以顺利进行,但是当POM指定GPG签名时我遇到问题,例如

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-gpg-plugin</artifactId>
  <version>1.4</version>
  <executions>
    <execution>
      <id>sign-artifacts</id>
      <phase>verify</phase>
      <goals>
        <goal>sign</goal>
      </goals>
    </execution>
  </executions>
</plugin>

这将导致Travis构建失败-显然是因为它在运行时没有可用的密码mvn install。有关示例,请参见此构建。

配置Maven和/或Travis以跳过针对CI测试版本的GPG签名,但在执行适当的发行版本时仍执行GPG签名的最佳方法是什么?


问题答案:

您需要创建一个配置文件,并确保仅在执行发行版本时才运行该配置文件。

删除当前插件,然后将其添加到如下配置文件中:

<profiles>
    <profile>
        <id>release-sign-artifacts</id>
        <activation>
            <property>
                <name>performRelease</name>
                <value>true</value>
            </property>
        </activation>
        <build>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-gpg-plugin</artifactId>
                    <version>1.4</version>
                    <executions>
                        <execution>
                            <id>sign-artifacts</id>
                            <phase>verify</phase>
                            <goals>
                                <goal>sign</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
            </plugins>
        </build>
    </profile>
</profiles>

然后,当您实际需要发布时,将该属性添加到mvn命令中:

mvn -DperformRelease=true ...


 类似资料:
  • 问题内容: 我必须使用CDT,mingw和cdt管理的构建功能(没有外部makefiles或构建环境)来重用当前在eclipse中开发的主要C ++项目。该项目本身由许多子项目组成。 我想将该构建集成到一个连续集成服务器(即jenkins)中,因此必须能够自动化无头构建。 到目前为止,我设法签出了该项目(从jenkins轻松完成),并使用以下命令使用eclipse以无头模式构建它: 但是还不够:

  • 在Xcode中,持续集成是自动的并且简化Mac和iOS应用程序的构建、分析、测试和打包的过程,确保应用程序永远保持可发布状态。在持续集成工作流中,使用Mac上的Xcode本地编写应用并将代码迁入一个代码仓库中。然后将代码发送到Xcode Server进行处理,Xcode Server是由OS X Server提供的一个服务。在开发Mac的Xcode中,将运行在server上的bot程序设置好。这些

  • translated_page: https://github.com/PX4/Devguide/blob/master/en/test_and_ci/continous_integration.md translated_sha: 95b39d747851dd01c1fe5d36b24e59ec865e323e PX4 Continuous Integration PX4 builds and

  • 我们做的还不够好,先占个坑。 欢迎贡献章节。

  • 注意有关编写测试的建议, 请参阅 Testing Your Code. Why? 与 Kent Beck 一起撰写关于 持续集成 (简称 : CI ) 的 Martin Fowler 对 CI 进行了如下的描述: 持续集成是一种软件开发实践,团队成员经常整合他们的工作,通常每个人至少每天集成一次 - 导致每天进行多次集成。 每个集成都通过自动构建(包括测试)进行验证,以尽快检测集成错误。 许多团队

  • 对应于 Ruby 的一个或多个版本,你很轻松就可以测试你的网站构建。以下指引将展示怎样在 Travis 上建立一个免费的,集成了处理 pull 请求的 GitHub 的构建环境。如果你使用私有代码库的话,也有相应的付费选择。 1. 启用 Travis 以及 Github 启用 Travis 来构建你的 Github 代码库非常简单: 前往你在 travis-ci.org 的个人档案: https: