3

我在 Openshift 上有 Jenkins 实例

我已经启用了我的 Openshift 应用程序的 Jenkins 构建 这里是 Jenkins shell 脚本部分的一部分并记录了它们产生的内容:

# Sync any libraries
rsync $upstream_ssh:~/.m2/ ~/.m2/

# Build/update libs and run user pre_build and build
gear build

上面的命令触发了这样的动作

+ gear build
Found pom.xml... attempting to build with 'mvn -e clean package -Popenshift -DskipTests'
Apache Maven 3.0.3 (r1075437; 2011-06-20 13:22:37-0400)
Maven home: /etc/alternatives/maven-3.0

我想自定义 maven 选项(在这种情况下允许通过删除-DskipTests部分来运行测试)在脚本中我尝试添加一些步骤并结合禁用此gear build命令

# Run tests here
mvn -e clean package -Popenshfit

以上运行mvn clean package但不更新最后一个成功的工件,并且日志显示

[WARNING] The requested profile "openshfit" could not be activated because it does not exist.

我有那个个人资料,pom.xml所以我不知道发生了什么

 <profiles>
    <profile>
        <id>openshift</id>

这不起作用:

 mvn --global-settings $OPENSHIFT_MAVEN_MIRROR clean package -Popenshift

上面可能是一些老员工(取自https://www.openshift.com/blogs/jenkins-polyglot-persistence-part-2

gear build欢迎任何关于在 Openshift 上自定义此选项或覆盖 maven 选项的想法 :) 我可以直接在机器上进行更改(jenkins,jenkins-build)(到目前为止免费的 openshift 帐户允许我 :))

编辑

一些解决方法是运行 gear build,然后mvn clean package我运行两次构建,所有测试目标都得到满足,并且在上游实例上部署了战争,此外,Cobertura 报告在我的 Jbehave 测试中运行良好,但这是不优雅的、消耗资源的解决方案。

4

1 回答 1

1

我在“做我的功课”时发现了这个问题,关于 OpenShift 中关于 Maven 的另一个问题——关于 OpenShift 如何在构建过程中使用 Maven 配置文件,广泛地,以实现安装“定制”第三方的目标。在使用“jbossas”墨盒的应用程序中提供 Liferay 门户以及一些“模块”自定义的 war 文件。

尽管我的 portal-gproj 应用程序在其构建中没有使用 Jenkins——正如我所期望的那样,它最初不会有可供 Jenkins 使用的备用设备,但可以从三个“免费齿轮”开始。不过,它是一个可扩展的应用程序。但是,我找到了一个参考项目,作为 Bill DeCoste 的博客条目,其中至少提到了关于 Jenkins 的两个配置特性,例如在 Jenkins 中定制 OpenShift Maven 构建:http://blog-judcon.rhcloud。 com/?p=16总而言之,文章提到了关于 Jenkins:一个“作业配置的构建/执行 shell 部分”。

虽然我自己没有使用过 Jenkins,但我已经看到它在使用中,但是——我认为它在eXo 平台中使用过。我假设 Jenkins 会有一种用于作业配置的基于 Web 的界面?(我个人更喜欢 Maven 上的 shell/文件系统接口)

或者,有OpenShift Origin Server 源代码和对应的OpenShift Origin 系统架构指南,参考OpenShift Origin基线,(我假设)OpenShift Online在其上运行,位于 Amazon EC2 云的层中。“如果一切都失败了,那就是源代码,”就像 Red Hat 的许多事情一样,LOL。OpenShift Origin 下似乎有jenkins和墨盒。当然,这些墨盒中的任何一个使用的过程的细节都可以从其源代码中看出。jenkins-client

希望这可以帮助!咖啡欢呼。

于 2013-12-12T17:28:57.717 回答