【发布时间】:2013-09-16 11:40:11
【问题描述】:
我在 Openshift 上有 Jenkins 实例
我已启用 Jenkins 构建我的 Openshift 应用程序 这里是 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 测试中工作正常,但这是不优雅的资源消耗解决方案。
【问题讨论】:
标签: shell maven jenkins openshift