[英]Jenkins - detect artifact version change
我有一个简单的Maven项目,该项目必须产生工件,例如一些工件,我在Jenkins也有一份工作,可以将简单的maven部署到我们的内部Nexus存储库中。 这是詹金斯在“ Maven目标和选项”字段中为作业设置的值:
clean source:jar deploy
假设我的Maven模块的版本为1.0:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>some.group</groupId>
<artifactId>some-artifact</artifactId>
<version>1.0</version>
</project>
现在,我要实现的是检测工件版本在SCM中已更改,并在每次版本号更改时(例如在将其设置为1.1后)构建此作业:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>some.group</groupId>
<artifactId>some-artifact</artifactId>
<version>1.1</version>
</project>
最终目标是尽快在Nexus上部署某些工件的最新版本。
是否有任何配置或Jenkins插件允许这种检测和作业触发?
我不知道是否有帮助,有几个插件将maven和Jenkins集成在一起,所以也许其中一个将具有build int功能来满足您的需要...
通过不使用特定插件的方式进行操作有多种方法。您可以使用$ {POM_VERSION}变量,该变量随
https://issues.jenkins-ci.org/browse/JENKINS-18272
然后将其与上一个版本,上一个修订版本或历史记录等进行比较...这样,即使版本已更改,也可以运行作业。
您还可以将此参数与参数化触发器插件结合使用:
https://wiki.jenkins-ci.org/display/JENKINS/Parameterized+Trigger+Plugin
或者,您也可以使用SVN挂钩来完成此操作,例如,如果更改了版本会触发Jenkins作业,则可能有很多方法可以手动执行此操作……很遗憾,最后一个选择! 但这有效。
让我们尝试以标准方式“ user2310395”执行此操作...
您如何释放工件? Maven发布插件还是什么?
我问这个问题是因为我认为标准的“工作流程”应如下所示:
那么我想念的是什么,为什么您不能仅仅遵循标准的工作流程?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.