詹金斯命令行主席

jenks的Python项目详细描述


jenks是一个命令行工具,旨在与远程jenkins主机交互,包括:

首先填写配置文件,或使用以下命令添加作业:

$ jenks config -a http://localhost:8080/job/bar/

之后,您可以使用:

$ jenks 0: localhost, foo (last build #7) SUCCESS 1: localhost, bar (last build #3) SUCCESS

jenks使用分配给每个作业的唯一密钥,而不是作业 名字。您可以在上面的示例中看到它:它是 一行的开头。

您可以使用以下命令从上面触发job foo:

$ jenks trigger :0

使用以下命令从工作栏获取最新的生成信息:

$ jenks build :1

通过添加多个键同时获取有关多个作业的信息:

$ jenks -l :10

您还可以使用:

$ jenks docs

安装

  • 因为jenkinsapi(主要依赖项)只是python2 兼容,jenks目前只兼容python2。

有几种安装jenks的方法。

通过PIP:

pip install jenks
pip install http://github.com/toumorokoshi/jenks/tarball/master

通过sprinter

sprinter install https://raw.github.com/toumorokoshi/jenks/master/sprinter.cfg

配置(.jenksrc)

jenks需要一个.jenksrc文件来配置自己。詹克斯搜索 当前目录并向上移动父目录,直到找到一个。

jenksrc文件应该是一个yaml文件,带有主机和 一些配置键。

下面是一个示例.jenksrc文件,包含所有选项:

'localhost':
  url: 'http://localhost:8080/'
  jobs:
    - foo
    - bar
'http://jenkins.local':
  jobs:
    - baz

主机的深入配置是:

  • url:主机的url。如果URL不存在,则使用主机名作为URL
  • 作业:要添加到列表中的作业名称列表

按键

默认情况下,jenks将对 配置。但是,可以通过以下方式将作业限制为特定的作业 传递密钥列表。每个作业都有一个由 詹克斯。例如,在示例配置中使用-l将产生:

$ jenks -l
0 http://jenkins.local baz
1 localhost foo
2 localhost bar

每行开头的字符是关键。每把钥匙都是 集合中的单个字符:[0-9a-za-z]。你可以把一串 以冒号为前缀的字符,以获取有关这些字符的信息:

$ jenks -l :20
0 http://jenkins.local baz
2 localhost bar

您可以将键作为:

  • 一个论点:

    $ jenks -c :0
    
  • 标准输入:

    $ echo '0' | jenks
    

作业代码

还可以使用作业按名称引用jenksrc中的作业 代码语法。作业代码语法如下:

<host_key>/<job_name>
localhost/bar

例如,下面是如何按作业代码获取有关作业最新版本的信息:

$ jenks build localhost/bar

示例

jenks的目标之一是遵循unix的理念 把事情做好。作为一个模块化的部分和支持标准件, 有可能把詹克斯和其他人联系起来。

例如,下面的命令仅列出其主机或作业名称与特定regex匹配的作业的状态:

$ jenks -l | grep "foo" | cut -d ' ' -f 1 | jenks
0: localhost, foo (last build #7) SUCCESS

监视Jenkins作业的状态:

$ watch jenks

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java结合两个Date实例使用Joda创建datetime   带有POI和FileOutputStream的java Swing应用程序性能问题   Java中是否存在类似于Python的异常?   Java中有界通配符的泛型   使用字符和子字符串的java不同输出   在Java中获取LDAP模式   java自定义类在自身上生成ClassNotFoundException   java连接到从internet到通过LAN连接到internet的系统的serversocket   java如何通过maven在jaxws中使用jaxb插件?   java Kerberos如何获取主体或客户端名称?   java应用服务器中是否有JDBC的单点登录解决方案?   java是存储矩阵值以便以后访问的更好方法   Java等级计算器。开始这门课我需要一些帮助   未找到Android“libc++\u shared.so”中的java OpenCV实现   当我使用web配置部署描述符时使用java。xml。它显示了错误   java为什么我的ArrayList的add方法冲突,如何编辑我的自定义add方法   java创建一个以集合为键的映射?   java如何将用户输入到数字三角形中   为什么Java在读取LinkedHashMap时会自动从字符串转换为整数   类动态创建和读取java类