zoukankan      html  css  js  c++  java
  • ruby调用jenkins API使用

    jenkins作为CI的好工具,应用很广泛,因此很多主流变成语言都有专门的jenkins相关的API,下面就介绍ruby中的jenkinsApi

    ------------------

    官方文档的jenkinsApi的使用可以参考:https://www.rubydoc.info/gems/jenkins_api_client/JenkinsApi/ 或者 https://sourceforge.net/p/jenkinsclient/wiki/Home/

    一、新建工作对象

    1 require 'jenkins_api_client'
    2 
    3 @client = JenkinsApi::Client.new(:server_url => url, :username=>user, :password=>pass)
    #可用的初始化参数:
    [
      "server_url",
      "server_ip",
      "server_port",
      "proxy_ip",
      "proxy_port",
      "proxy_protocol",
      "jenkins_path",
      "username",
      "password",
      "password_base64",
      "logger",
      "log_location",
      "log_level",
      "timeout",
      "http_open_timeout",
      "http_read_timeout",
      "ssl",
      "follow_redirects",
      "identity_file",
      "cookies"
    ].freeze

    注意:1、必须先 require 'jenkins_api_client',安装gem:gem install jenkins_api_client

     (如果安装不了,可能Ruby版本过旧或者换个镜像源)

       2、url路径参数直接copy浏览器地址即可,只要浏览器能访问,这里就可以(url写到item的上一级即可,如下可直接写:http://localhost:8080/)

     

    二、常用job操作

     1 job = @client.job        #获取当前的JenkinsApi::Client::Job对象
     2 job.list_all                  #列出所有任务
     3 job.build(job_name, params={})    #创建一个job任务,参数传入job名。如test01_VM,和构建参数
     4 job.copy(from_job_name. to_job_name)   #复制新建任务
     5 job.create(job_name, xml)       #通过xml新建任务
     6 job.delete(job_name)   #删除任务
     7 job.find_artifaces(job_name)   #得到某子任务的具体路径
     8 job.get_build_params(job_name)   #获取任务参数
     9 job.get_config(job_name)        #获取配置信息
    10 job.get_console_output(job_name, build_num)  #某个任务构建的具体输出
    11 job.get_current_build_number(job_name)  #任务当前构件号
    12 job.get_test_results(job_name, num)  #构建结果
    13 #---
    14 job.stop_build(job_name, build_num = 0)  #停止构建运行
    15 job.update(job_name, xml)   #更新任务配置

    ---恢复内容结束---

  • 相关阅读:
    HTML基本知识
    几个常用的正则表达式
    C#操作文件
    传说中的WCF(3):多个协定
    传说中的WCF(2):服务协定的那些事儿
    查询表、存储过程、触发器的创建时间和最后修改时间
    SQL四舍五入及两种舍入
    自制 JS.format带分页索引
    js:字符串(string)转json
    $.each 和$(selector).each()的区别
  • 原文地址:https://www.cnblogs.com/alison-lxj/p/10266006.html
Copyright © 2011-2022 走看看