zoukankan      html  css  js  c++  java
  • Jenkins构建多配置项目

    本文参考自Jenkins相关资料,结合本人实际使用情况编写。
    相关文档:

    可以解决的问题:

    有时,我们希望项目能够根据不同参数、或不同环境来编译,若使用多个项目来实现,则有些浪费资源,那么最好是可以实现:在一个项目中,就能根据给出的不同参数来编译不同版本。
    我这里以自定义参数为例。

    思路

    比如当前项目的参数有四种(非完整参数,简单举例而已)

    python -Purpose test -version 1.0
    python -Purpose release -version 1.0
    python -Purpose test -version 1.1
    python -Purpose release -version 1.1

    可以看到 Purpose 和 version 参数是可变的,那我们可以利用两个变量将以上参数简化为一条:

    python -Purpose %purp% -version 1.%ver%

    其中的 purp 可取值为 testrelease,ver 可取值为 01.

    有了目标,接下来就是在Jenkins中的应用实践。

    步骤

    1、需要新建一个任务,类型为:构建一个多配置项目(Build multi-configuration project)
    这里写图片描述

    2、其他设置与一般任务相同,只是多了一个模块 Configuration Matrix

    a)在Add axis中,选择User-defined Axis,本例需要两个变量,所以需要再增加一个User-defined Axis
    这里写图片描述

    b)这里定义变量和对应的值,Name中是变量名,Values中是变量可取的值,中间以空格或回车隔开(注意:当可取值比较复杂的时候,建议每个值用英文双引号隔离,值之间仍以空格、回车隔开),如图,填入前面提过的变量和值,此时 purpver 就是可以在构建参数中直接使用的变量了
    这里写图片描述

    c)这个模块的下方有两个可选项需要注意:

    • Combination Filter
      这个是过滤器,目前我们定义了两个变量,也就是说最后会得到 2*2=4 个版本,而有时我们并不想拿到所有组合的版本,那么这个过滤器就可以起作用了,比如我们不想编译 python -Purpose test -version 1.1这个版本,过滤方法如图。
      BTW,当有多个版本要过滤时,可以使用括号和 || 分隔,如:
      (purp == "test" && ver != "1") || (purp == "test" && ver != "0")
      这里写图片描述
    • Run each configuration sequentially
      这个是指定所有版本要按顺序编译,建议勾选

    3、构建参数
    以上我们已经得到所需变量,那就可以在构建中写入完整的参数配置,这里选择的是Windows 批处理命令(注意:使用变量的方式因命令而异,比如windows下的变量使用%,所以这里用的是 %purp%%ver%

    python -Purpose %purp% -version 1.%ver%
    这里写图片描述

    4、保存后,查看项目,有一个参数矩阵,通过圆球可以对每个版本的构建结果一目了然(注意这里的0和1是我们刚刚定义的变量值,不是序号)
    这里写图片描述

    博客园:http://www.cnblogs.com/CYTyeah CSDN:https://blog.csdn.net/qq_35081227
  • 相关阅读:
    Javadoc注释的用法
    Java 和 Android系统环境变量设置
    [转载]Android开发新浪微博客户端 完整攻略 [新手必读]
    eclipse中Android程序字符编码不统一的解决方案
    用word2007写blog时表格的显示效果
    解决Vista中的文件关联图标问题。
    用word2007在博客园发布带图片的blog
    在c++中使用gotoxy
    动态多线程任务管理
    几个视频切割工具
  • 原文地址:https://www.cnblogs.com/CYTyeah/p/9362436.html
Copyright © 2011-2022 走看看