Python Jenkins模块

2,029

这是我参与11月更文挑战的第5天,活动详情查看:2021最后一次更文挑战

前言

在如今快速发展的时代中,为了支撑公司产品快速迭代的需求,行业中近期流行起来Devops

  • 什么是Devops?

    Devops 通常定义是组织团队之间通过工具实现自动化的协作和沟通完成软件周期管理,其目的是更快、更好地进行软件开发、测试、发布等一系列流程管理。

    • Devops 主要包含三个部分:开发、测试和运维。

    • Devops 平台搭建主要流程如图所示:

    image.png

在Devops流程中,我们知道了作为持续集成的工具Jenkins发挥着至关重要的作用。

对于强大的Python来说,Python也支持Jenkins工具操作的第三方库,接下来我们来学习它吧,let's go~

1. 什么是Jenkins?

我们在学习Python Jenkins模块之前,先来认识一下持续集成的工具-Jenkins吧

Jenkins 是作为Devops流程中进行软件持续集成、发布等重要环节。并且其自身提供超过1000个插件来支持构建、部署、自动化,可以满足多元化的项目需求。

image.png

  • Jenkins工具特点

    • 持续集成、持续交付

      Jenkins是一个可扩展的自动化工具,可以用作CI服务器、或者项目交付中心

    • 简易安装

      Jenkins 支持多系统独立运行

    • 配置简单

      Jenkins凭借着简单的网页设置和配置,可以快速上手

    • 大量插件

      Jenkins 提供超过1000个插件,集成了持续集成和持续交付工具链中所有的工具

    • 易扩展性

      Jekins 用于插件架构可以对其进行扩展

    • 分布式结构

      Jenkins 可以支持在多台服务器上分配工作,帮助快速跨多个平台推动构建、测试和部署

PS: Jekins官网上提供详细的用户操作手册

2. Jenkins 模块概述

Python Jenkins 模块可以允许用户通过Jenkins REST端点管理Jenkins服务器。

  • python-jenkins 模块特点

    • 支持自动连接Jenkins服务器
    • 控制Jenkins进行工作
    • 对Jenkins进行创建、配置和删除视图
    • 为Jenkins进行添加插件
  • python-jenkins 模块获取

    Jekins模块是Python第三方库,需要通过pip进行下载

    pip install python-jenkins
    
  • python-jenkins 模块使用

    我们在代码中,直接使用import导入第三方库

    import Jenkins
    

PS:python-Jenkins 模块官方操作手册可见详细操作

3. Jenkins 相关方法

Jenkins 模块提供的类方法

类方法作用
jenkins.Jenkins(url,username,password)登陆jenkins服务器

Jenkins 模块实例对象方法

方法作用
jen.build_job(job_name)构建任务
jen.get_job_info(job_name)获取任务名
jen.get_whoami()获取账号名字
jen.get_version()获取版本号
jen.pprint()查看全局信息
jen.delete_job(job_name)删除指定的任务
jen.create_job(job_name)创建指定的任务
jen.copy_job(job_name)复制指定的任务
jen.rename_job(job_name)重命名指定的任务

Jenkins 模块实例化提供的属性

属性作用
jen.baseurljenkins服务地址
jen.usernamejenkins 用户名字
jen.passwordJenkins 用户密码

4. 小试牛刀

  • 登陆 Jenkins 流程步骤

    1. 导入jenkins模块
    2. 创建Jenkins实例对象
    3. 实例对象需要传入url,用户名,密码
    import Jenkins
    
    Jen = jenkins.Jenkins("http://localhost:8080",
                    username="uesrname",password="password")
    print("userinfo:",Jen.get_whoami())
    print("version:",Jen.get_version())
    

    image.png

总结

本期,我们对Python对Jenkins系统进行操作的第三模块Jenkins库相关方法进行学习,在学习的过程中也对Devops流程有一定的了解。

在团队工作中,每个人都各司其职,怎么能做到高效且可靠的交付,团队协作与沟通的方式在不断升级改善,更好更快地去适应快速迭代的时代。

以上是本期内容,欢迎大佬们评论点赞,下期见~