【问题标题】:Configuring a single Jenkins release job to release from trunk or branches with Perforce as SCM将单个 Jenkins 发布作业配置为使用 Perforce 作为 SCM 从主干或分支发布
【发布时间】:2013-08-05 17:23:21
【问题描述】:

这个问题类似于How to configure a single Jenkins job to make the release process from trunk or branches? 提出的问题,但在这种情况下,Perforce 是 Jenkins 中使用的 SCM。目前在詹金斯我有以下几点:

  1. 每个分支/主干一个发布作业。
  2. 每个作业都有一个单独的 Perforce 工作区,映射必要的分支/主干
  3. 运行作业时,jenkins-perforce-plugin 会同步整个工作区,然后运行 ​​maven 发布插件。

理想情况下,我希望有一个可以指向任何分支的发布作业,同步到该分支的代码并执行 maven 发布。但是,对于 Perforce 工作区,我需要为每个分支/主干进行视图映射。有没有办法告诉 jenkins-perforce-plugin 只同步到工作区视图中的特定视图?这样,我可以使用传递到分支路径的参数构建发布作业,并且 jenkins-perforce-plugin 将作业 perforce 工作区仅同步到该路径,然后从那里进行构建。

【问题讨论】:

    标签: jenkins release perforce jenkins-plugins


    【解决方案1】:

    如果我试图按照描述实现这一点,我将创建一个参数化构建,我可以在其中提交 Perforce 标签名称。 Perforce Jenkins 插件可以同步到标签;我会为每个版本创建标签,指定应该同步的路径和#head的修订说明符。

    然后,Jenkins 应该只同步该构建所需的文件。工作区当然会映射一切;标签将指定要获取的文件。

    【讨论】:

    • 谢谢马特。我认为我将解决这个问题的方法是设置一个具有 perforce 工作区的 Jenkins 作业,该工作区可以查看所有分支和主干。我将使作业成为参数化作业,其中分支名称或主干名称被解析为作业,并使用作业的高级 perforce 插件设置中的“使用视图掩码”设置将代码同步到作业 perforce 的特定区域工作区。标签对我不利,因为这意味着我必须在构建发布之前创建发布标签。
    • 这听起来是个不错的解决方案!我没有玩过视图蒙版设置;听起来很方便。
    猜你喜欢
    • 2011-12-06
    • 2020-10-17
    • 1970-01-01
    • 2014-04-08
    • 2023-03-13
    • 2016-07-25
    • 2015-09-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多