首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在Subversion的多模块Maven构建中触发单个模块的Jenkins构建?

在Subversion的多模块Maven构建中,可以通过在Maven的pom.xml文件中添加一个自定义的build profile来触发单个模块的Jenkins构建。

首先,在需要构建的模块的pom.xml文件中,添加一个build profile,例如:

代码语言:php
复制
<profiles>
  <profile>
    <id>build-module-X</id>
    <build>
      <plugins>
        <plugin>
          <groupId>org.jenkins-ci.tools</groupId>
          <artifactId>maven-hpi-plugin</artifactId>
          <version>1.26</version>
          <configuration>
            <url>http://localhost:8080/jenkins/job/module-X/lastStableBuild/artifact/module-X.jar</url>
            <artifactItems>
              <artifactItem>
                <groupId>com.example</groupId>
                <artifactId>module-X</artifactId>
                <version>1.0.0</version>
                <type>jar</type>
              </artifactItem>
            </artifactItems>
          </configuration>
        </plugin>
      </plugins>
    </build>
  </profile>
</profiles>

其中,id属性指定该build profile的ID,build元素指定要执行的构建步骤,plugins元素中添加了一个Maven HPI插件,该插件配置了需要构建的模块的URL,以及要构建的构件。

接下来,在主项目的pom.xml文件中,添加一个build profile,例如:

代码语言:php
复制
<profiles>
  <profile>
    <id>build</id>
    <build>
      <plugins>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>3.8.1</version>
          <configuration>
            <source>1.8</source>
            <target>1.8</target>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-deploy-plugin</artifactId>
          <version>2.8.2</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-failsafe-plugin</artifactId>
          <version>2.22.2</version>
          <configuration>
            <includes>
              <include>**/*Test.java</include>
            </includes>
          </configuration>
        </plugin>
      </plugins>
    </build>
  </profile>
</profiles>

该build profile的ID与多模块项目中的build profile的ID相同,可以用于触发该build profile的构建。

最后,在主项目的pom.xml文件中,添加一个build profile,例如:

代码语言:php
复制
<profiles>
  <profile>
    <id>deploy</id>
    <build>
      <plugins>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>3.8.1</version>
          <configuration>
            <source>1.8</source>
            <target>1.8</target>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-deploy-plugin</artifactId>
          <version>2.8.2</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-failsafe-plugin</artifactId>
          <version>2.22.2</version>
          <configuration>
            <includes>
              <include>**/*Test.java</include>
            </includes>
          </configuration>
        </plugin>
      </plugins>
    </build>
  </profile>
</profiles>

该build profile的ID与多模块项目中的build profile的。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

第一章:构建模块Maven项目+创建注册中心Eureka子模块

SpringCloud 菜鸟SpringCloud实战专栏(CSDN) 实战版本 SpringBoot:2.0.3.RELEASE SpringCloud:Finchley.RELEASE -----正文开始----- 构建模块...Maven项目 + 创建注册中心Eureka子模块 构建模块Maven项目 由于SpringCloud中有许多组件,每个组件都需要单独进行开发和维护,为了便于统一版本维护和管理,我们经常会用到Maven...模块模式。...Rude3Knife 点击公众号下方:技术推文——SpringCloud 菜鸟SpringCloud实战专栏(CSDN) 菜鸟SpringCloud实战专栏 [[菜鸟SpringCloud入门]第一章:构建模块...:IDEA中同一个项目启动多个实例: https://blog.csdn.net/hanchao5272/article/details/80558190 Spring-Cloud笔记02:IDEA中构建模块

90530

第一章:构建模块Maven项目+创建注册中心Eureka子模块

SpringCloud 菜鸟SpringCloud实战专栏(CSDN) 实战版本 SpringBoot:2.0.3.RELEASE SpringCloud:Finchley.RELEASE -----正文开始----- 构建模块...Maven项目 + 创建注册中心Eureka子模块 构建模块Maven项目 由于SpringCloud中有许多组件,每个组件都需要单独进行开发和维护,为了便于统一版本维护和管理,我们经常会用到Maven...模块模式。...在这里我们新建子模块名为eureka,用来放之后要用eureka模块,新建好后,子模块目录如下: ? 删除主工程多于目录 由于并不需要在主工程进行任何代码开发,所以删除其src目录。...编辑主工程pom.xml 主工程pom.xml里做事: 配置Springboot和SpringCloud基础组件 配置子模块:可以看出现在有一个子模块`eureka``,以后有新模块被创建后,也需要到这里添加上

2.5K30

Jenkins系列一:安装和简单配置Jenkins简单介绍Jenkins安装

2.易于配置-所有配置都是通过其提供web界面实现。有些配置MAVEN_HOME和Email,只需要配置一次,所有的项目就都能用。当然也可以通过修改XML进行配置。...完成后触发通知(Email,RSS等等)给相关的当事人。 5)、(配置如果存在)如果构建成功,这个构件会被打包并转移到一个部署目标(应用服务器)或存储为软件仓库中一个新版本。...Subversion Tagging Plugin —该插件在成功构建中执行svn标签(也就是使用 svn copy)。...URL Change Trigger — 该网址变更触发器插件允许您当网址内容发生变更时Jenkins触发一次构建。...M2 Extra Steps Plugin — 该插件为Jenkins加入pre- 和post- 构建步骤到Maven 2类型项目的能力。

2K10

​2019 DevOps 必备面试题——持续集成篇

Q5:如何在 Jenkins 中创建备份和复制文件? 可以很直接地回答这个问题:要创建备份。你需要做就是定期备份 JENKINS_HOME 目录。...这包含所有构建 job 配置,从属节点配置和构建历史记录。要创建 Jenkins 备份,只需复制此目录即可,你还可以复制 job 目录或重命名目录。 Q6:如何配置 Jenkins job?...然后你可以设置这个自由式 job 元素: 可选 SCM,例如源代码所在 CVS 或 Subversion。 用于控制 Jenkins 何时执行构建触发器。...某种构建脚本,用于执行实际工作构建(ant,maven,shell 脚本,批处理文件等)。 从构建中收集信息可选步骤,例如归档制品、记录 javadoc 和测试结果。...Q7:列举 Jenkins 中一些有用插件 下面我将提到一些重要插件: Maven 2 project Amazon EC2 HTML publisher Copy artifact Join Green

1.3K30

Java 8,Jenkins,Jacoco和Sonar进行持续集成

我们正在使用Ant 来构建我们项目,但是如果您使用Maven,则甚至可以简化该过程,因为JenkinsSonar集成可以通过使用Maven插件来完成。...将Sonar与Ant一起使用需要一个小型库,其中包含要集成到Jenkins目标。如果您使用Maven,则可以只安装Maven插件。...jacoco覆盖范围do-junit任务,并复制套件构建中每个模块单元测试结果,以便声纳将找到所有这些元素一起进行分析。...定义另一项任务是jacoco合并,该合并实际上将获取每个模块所有生成exec,并将它们合并到套件构建中单个exec中,以允许声纳进行分析。...在“管理Jenkins->管理插件”中,进入可用列表并安装(如果尚未存在)以下插件: JaCoCo Mercurial or Subversion Sonar 如果您在防火墙或代理后面,并且在配置网络设置时遇到问题

1.8K10

【11】进大厂必须掌握面试题-持续集成面试

请注意,如果您更改作业名称,则将需要更改任何其他尝试调用重命名作业作业。 Q5。解释如何在Jenkins中创建备份和复制文件? 这个问题答案确实是直接。...要创建备份,您需要做就是定期备份JENKINS_HOME目录。这包含所有构建作业配置,从属节点配置以及构建历史记录。要创建您Jenkins设置备份,只需复制此目录。...解释如何设置Jenkins工作? 我要回答这个问题方法是首先提到如何创建Jenkins工作。转到Jenkins主页,选择“新建作业”,然后选择“构建自由样式软件项目”。...然后,您可以说出此自由式作业元素: 源代码所在可选SCM,例如CVS或Subversion。 可选触发器,用于控制Jenkins何时执行构建。...某种执行实际工作构建脚本(ant,maven,shell脚本,批处理文件等)。 从构建中收集信息可选步骤,例如,归档工件和/或记录javadoc和测试结果。

1.4K20

Jenkins学习一:Jenkins是什么?

l 构建可持续自动化测试 :构建检查扩展部分,构建后执行预先制定一套测试规则,完成后触发通知(Email,RSS等等)给相关的当事人。...完成后触发通知(Email,RSS等等)给相关的当事人。 (配置如果存在)如果构建成功,这个构件会被打包并转移到一个部署目标(应用服务器)或存储为软件仓库中一个新版本。...有些配置MAVEN_HOME和Email,只需要配置一次,所有的项目就都能用。当然也可以通过修改XML进行配置。...l 支持Maven模块(Module),JenkinsMaven做了优化,因此它能自动识别Module,每个Module可以配置成一个job。相当灵活。...* 项目源码修改检测,jenkins能够从项目的Subversion/CVS生成最近修改集合列表,且改方式非常有效,不会增加Subversion/CVS Repository负载。

42230

【干货】Jenkins 持续集成实现系统自动化构建、测试及部署

Maven 构架,所以 Maven 也必须安装; 两者安装方法请参考我另一篇文章:Tomcat 安装及其单机实例部署 export JAVA_HOME=/usr/java/jdk1.8.0.../centos/repo1/fastjson 3.2 安装相关插件 Subversion Plug-in ## 版本管理 SVN 插件 Git plugin ## 版本管理 GIT 插件 Maven...Integration plugin ## 项目构建 Maven 插件 Gradle Plugin ## 项目构建 Gradle 插件 无需重启 Jenkins 插件即生效。...jenkins trigger 3.3.4 版本提交触发构建 构建触发器: 只选中 Poll SCM,可指定检查 SVN 代码是否有提交时间: ## 格式与 "Build periodically...ar jenkins poststep 3.4 手工触发构建 进入 My Views, 右侧看到各个项目; 点击进入关注项目,点击左侧“立即构建”; jenkins build

2.6K51

jenkins详解

这是一个免费源代码,可以处理任何类型构建或持续集成。集成Jenkins可以用于一些测试和部署技术。Jenkins是一种软件允许持续集成。...分布式构建:支持Jenkins能够让多台计算机一起构建/测试。 文件识别:Jenkins能够跟踪哪次构建生成哪些jar,哪次构建使用哪个版本jar等。...丰富插件支持:支持扩展插件,你可以开发适合自己团队使用工具,git,svn,maven,docker等。...c.svn安装 yum install subversion -y mkdir /svnrepo svnadmin create /svnrepo/project1 #创建一个新Subversion...在jenkins 系统管理—系统设置—Extended E-mail Notification 在默认触发器 Default Triggers 标签下,可以勾选邮件通知触发情况,任何情况下均需要选择

42010

jenkins使用方法详解

一、相关概念 1.1 Jenkins概念: Jenkins是一个功能强大应用程序,允许持续集成和持续交付项目,无论用是什么平台。这是一个免费源代码,可以处理任何类型构建或持续集成。...分布式构建:支持Jenkins能够让多台计算机一起构建/测试。 文件识别:Jenkins能够跟踪哪次构建生成哪些jar,哪次构建使用哪个版本jar等。...丰富插件支持:支持扩展插件,你可以开发适合自己团队使用工具,git,svn,maven,docker等。...c.svn安装 yum install subversion -y mkdir /svnrepo svnadmin create /svnrepo/project1 #创建一个新Subversion...在默认触发器 Default Triggers 标签下,可以勾选邮件通知触发情况,任何情况下均需要选择always,也可以在仅失败情况下发送,也可以对应邮件接受人不通,进行邮件分类。

1K20

DevOps利器- Hygieia平台开发部署

使用Hygieia后,在整个软件开发周期中,用户可以选择VersionOne或Jira进行用户故事追踪,选择Subversion或GitHub作为代码仓库,选择Jenkins或Hudson进行构建,选择...Selenium和SonarQube用于质量检测,以及选择uDeploy或Jenkins进行部署等等,当然Hygieia不止这点,它api基于rest风格插件设计,其他一些软件工程组件可以很轻松接入到...架构图,Hygieia主要由三大部分组成,【api模块】,【连接器模块(插件模块)】,【大盘模块(ui模块)】,UI和api是前后端分离架构,可以单独打包不熟运行 Hygieia开发用到技术栈?...:java、spring boot、maven 数据库:mongoDB 其中数所有的据都是存储在mongoDB中 Hygieia项目运行部署?...前提是已经有,java 、maven、node、mongoDB环境了,这些环境搭建不在本篇范围内 启动api模块  项目下载下来后,先mvn install root模块,有些查询对象使用了maven

1.8K80

Hygieia 为何物?DevOps 利器也

使用Hygieia后,在整个软件开发周期中,用户可以选择VersionOne或Jira进行用户故事追踪,选择Subversion或GitHub作为代码仓库,选择Jenkins或Hudson进行构建,选择...Selenium和SonarQube用于质量检测,以及选择uDeploy或Jenkins进行部署等等。...架构图,Hygieia主要由三大部分组成,【api模块】,【连接器模块(插件模块)】,【大盘模块(ui模块)】,UI和api是前后端分离架构,可以单独打包不熟运行 Hygieia开发用到技术栈?...:java、spring boot、maven 数据库:mongoDB 其中数所有的据都是存储在mongoDB中 Hygieia项目运行部署?...前提是已经有,java 、maven、node、mongoDB环境了,这些环境搭建不在本篇范围内 启动api模块 项目下载下来后,先mvn install root模块,有些查询对象使用了maven

1.7K60

开源 CICD 工具 Jenkins 有哪些学习路径,看看这篇

project 自由风格项目,Jenkins最主要项目类型 Maven Project Maven项目专用,类似 Freestyle,更简单 Multi-configuration project...配置项目,适合需要大量不同配置(环境,平台等)构建 Pipeline 流水线项目,适合使用pipeline(workflow)插件功能构建流水线任务,或者使用Freestyle project不容易实现复杂任务...并发构建,限制构建默认node等等 Source code Management 代码库信息,支持Git,Subversion等 Build Triggers 构建触发方式 周期性构建,Poll SCM...,远程脚本触发构建,其他项目构建结束后触发等 Build Environment 构建环境相关设置 构建前删除workspace,向Console 输出添加时间戳,设置构建名称,插入环境变量等 Build...,将原本独立 运行于单个或者多个节点任务连接起来,实现单个任务难以完成复杂流程编排与可视化。

2.2K20

持续集成六 Jenkins配置项目和质量检测(sonar)

目录 1.安装插件 2.配置sonarQube服务 3.创建自由风格或是maven项目 4.定时任务配置: 5.sonar环境 6.编译 6.1指定pom.xml编译 6.2 指定编译模块或目录(接着...5.1) 7.sonar scanner 7.1 扫描指定模块 8.配置前端扫描 ---- 配置多个模块单个模块不一样,多个模块配置问题可以看下一篇 1.安装插件 checkstyle findbugs...第二种是周期性触发: ? 5.sonar环境 ?...jenkins 指定编译,包含依赖模块,我在编译pom.xml里配置了所有模块,比如eureka server这些都没有编译。 ? ? 7.sonar scanner ?...7.1 扫描指定模块 指定模块扫描方式不能用sonar scanner插件,它存在一些问题详细说明在下一章持续集成七 Jenkins配置sonar 配置模块覆盖率为0问题 对应5.2节,在配置了指定模块编译

1K10

Jenkins自动化部署-----持续交付【转】

chapter 3: jenkins安装和配置 上面介绍了那么,估计你也没看,我们关心只有软件使用方法(23333)。...第二个模块是部署模块,当第一个模块构建成功(变绿),才会触发第二个模块,如果第一个模块单元测试或者运行失败,当前模块就会变红,那么就不会运行第二个模块,当然,这个触发是自己配置。...先运行第一个test_project,当第一个模块运行单元测试、打包成功后,才会触发运行第二个模块--即部署springboot.jar 那么是怎么触发呢 我们回到之前没有讲解一张图 ?...}--git提交版本号,根据这两个变量去触发下一个模块,没有这个配置,就无法触发下一个模块....但是其实这只是部署一个入门,提供了一个思路,Jenkins还有很多其他功能,例如构建失败时发送邮件,自定义脚本,git代码Push完成后立即触发Run等等,Jenkins非常灵活,功能也非常,等待你自己去探索

1.2K50

Jenkin-持续集成

1、Jenkins安装   本文将会介绍如何在windows 中安装Jenkins,并且使用Jenkins进行项目的构建。   ...安装完插件后,我们即可以开始一个新Maven项目,我们为这个项目命名,然后选择构建一个Maven项目,进入到项目的配置。 ?   ...在源码管理模块,我们可以将线上代码仓库地址输入进去,在这里我输入是我一个开源项目:https://github.com/jaycekon/Crawl-Page.git ?   ...在触发器这一栏,我们可以设置Jenkins自动打包时间约束,在日程表中,我们输入是 */3 * * * * 每三分钟执行一次 ?    ...最后,在build 中,输入我们在项目编译时需要执行Maven 命令,然后选择保存。 ?   最后点击项目构建,进行首次项目构建: ?

71080

vivo 自研Jenkins资源调度系统设计与实践

,系统接收到后会触发Jenkins管理模块Jenkins信息注册至调度系统中。...任务从分配事件 (EVENT_JOB_REDO) : 当Jenkins宕机后,如果该台jenkins上存在未执行完任务时候,由job监控模块触发,job管理莫管处理,会对该Jenkins上未执行job...任务接受事件 (EVENT_JOB_RECIVE) :当job管理模块接受到创建请求,会触发该事件,由job管理模块放入Redis执行队列。...,比如Jenkins可以构建Java程序,使用构建工具可以是maven和gradle,这个时候我们就可以给其打上Java、maven、gradle三个标签。...(可选策略)根据job构建平均构建时长,如果构建时长达到某个配置阈值时,优先选择构建器空闲Jenkins进行执行,并指出Jenkins锁定功能。其他job不允许分配上来。

70320

打造企业级自动化运维平台系列(七):Jenkis 部署 Springboot 应用实践

,由参数传入 # 模块时候,需要在路径中使用*统配一下模块 # 比如/opt/ehang-spring-boot是模块,下面由module1和module2 # 那么执行shell时候使用:sh.../spring-boot-001-hello-world为单模块根目录 模块模块仅仅只是路径不同而已 sh /opt/jenkins/package/jenkins_restart.sh /opt...Jenkins 自动部署 SpringBoot 模块应用 上面写jenkins_restart.sh脚本,在模块部署时候,没办法检测到未更新模块。...,需要更新重启;Docker方式,需要构建镜像上传 MD5校验一致 未发生变化,跳过 Jenkins 模块自动构建 本文主要目的是:优化模块自动化构建,能感知变化,只自动部署已经修改模块;...由参数传入 # 模块时候,需要在路径中使用*统配一下模块 # 比如/opt/ehang-spring-boot是模块,下面由module1和module2 # 那么执行shell时候使用:sh

25610
领券