zoukankan      html  css  js  c++  java
  • Jenkins持续交付实战演练

    jenkins web hook机制

    运行jenkins任务触发方式:

    • 主动运行

    • 定时构建
      就算代码库没有更新,也会构建。

    • 通过代码库主动触发Jenkins的构建任务

    jenkins向外暴露一个触发器,github或gitlab代码库提交代码的时候,可以主动触发jenkins。
    需要打通通信
    需要有github或gitlab权限

    好处是:节省jenkins资源。

    • 定时轮询代码库

    如果gitbub或gitlab无法访问jenkins,则需要更换触发策略。
    Poll SCM配置,定时查询代码库,有更新才构建。

    构建结果提取与远程调用jenkins api

    构建结果提取

    • 通过参数提取jenkins任务构建结果 -$BUILD_STATUS

    jenkins参数提取构建结果,只能看到成功或者失败。

    • Editable Email Notification插件,正则表达式匹配

    提醒邮件中提取出自己想看的信息,更加灵活
    利用正则表达式从log匹配测试结果

    远程调用jenkins api

    • 简介

    jenkins对外暴露的动作交互入口
    为外部程序提供入口,可以控制jenkins
    支持http协议
    api接口支持用户名、密码认证
    支持的典型功能:运行job、查看任务状态,返回任务编号
    在搭建测试平台时,可以使用jenkins api集成jenkins

    • 调用jenkins api环境准备

    创建用户
    准备任务

    • 利用代码控制jenkins任务

    接口自动化测试持续集成

    • 接口自动化测试项目介绍

    测试接口应用:
    接口功能:获取对于城市的天气预报
    源码:java
    协议:http
    请求方法:get
    自动化测试运行框架:TestNG
    项目框架:Maven
    开发工具:
    源码位置:

    • 接口自动化测试项目源码讲解

    1.py
    程序代码

    2.src
    test

    3.pom.xml

    • allure report

    先在运行环境安装allure
    在jenkins安装allure插件
    pom.xml中引入依赖
    构建过程生成report

    UI自动化测试持续集成

    用例业务内容:测试百度首页搜索关键词之后,跳转页面标题的正确性。

    • nosetests

    http://blog.sina.com.cn/s/blog_4c7cc7fd0102xfb1.html
    https://nose.readthedocs.io/en/latest/man.html

    Jenkins Pipeline

    借用Unix中的Pipeline思路,一种高内聚低耦合的工具。
    不同的构建阶段独立显示,展示清晰。

    • 安装插件

    https://blog.csdn.net/ojwftded/article/details/86521801

    • 方式1: 通过jenkins图形界面进行jenkinsfile编辑

    选择sricpt

    helo world演示

    • Pipeline代码放在git源码库

    选择SCM
    先把代码下载下来,再运行
    https://blog.csdn.net/liumiaocn/article/details/86344537

    Jenkinsfile语法

    Pipeline最基本的部分是“step”。基本上,step告诉Jenkins 要做什么,并且作为Declarative Pipeline和Scripted Pipeline语法的基本构建块。
    Pipeline支持两种语法:Declarative Pipeline(在Pipeline 2.5中引入,结构化方式)和Scripted Pipeline,两者都支持建立连续输送的Pipeline。

    Declarative Pipeline

    https://www.cnblogs.com/YatHo/p/7856556.html

    Scripted Pipeline

    • 语法树

    • 流程控制if else

    • 流程控制try catch

    • 代码中应用配置工具,如jdk、maven

    Declarative pipeline和Scripted pipeline的比较

    共同点:
      两者都是pipeline代码的持久实现,都能够使用pipeline内置的插件或者插件提供的steps,两者都可以利用共享库扩展。
    区别:
      两者不同之处在于语法和灵活性。Declarative pipeline对用户来说,语法更严格,有固定的组织结构,更容易生成代码段,使其成为用户更理想的选择。但是Scripted pipeline更加灵活,因为Groovy本身只能对结构和语法进行限制,对于更复杂的pipeline来说,用户可以根据自己的业务进行灵活的实现和扩展。

    Blue Ocean介绍

    • 安装插件

    Jenkins->系统管理->插件管理,在“可选插件”中搜索“Blue Ocean”

    选中Blue Ocean,然后点击“直接安装”,等待安装完成
    安装完成后回到首页会发现最左侧的列表中多了一个图标:

    Jenkinsfile实战Docker应用实战演练

    拉取源代码-maven打包-清理Docker环境-生成包含新包的Docker镜像-启动新的Docker镜像

  • 相关阅读:
    个人7天冲刺计划
    团队项目开发个人周计划
    满足NABC的软件创意
    关于二维数组相邻元素和的最大值问题的探讨
    敏捷软件开发综述
    关于开发方法的综述
    二维数组的子数组求最大值问题
    电梯调度实施
    小组作业提交报告
    模拟卷链接
  • 原文地址:https://www.cnblogs.com/Uni-Hoang/p/13060065.html
Copyright © 2011-2022 走看看