持续集成的学习(jenkins)

news2024/11/15 13:45:47

Jenkins :持续集成和交付工具

它就是一个执行命令的工具,任何可以在终端当中执行的都可以使用这个工具进行执行。

功能

  1. 自动化构建(git 、svn):自动发布的功能
  2. 持续集成:不断的去做某个操作(发布、验证)
  3. 测试和报告:allure
  4. 很多对应的插件可以使用。

快速入门

安装

  1. 安装

    Jenkins download and deployment

  2. 启动jar包

    java -jar 文件名

  3. 访问127.0.0.1:8080,密码在cmd界面处

  4. 安装推荐的插件即可

  5. 设置用户名和密码

简单应用

  1. 构建任务
  2. 设置构建脚本(windows用批处理命令)
  3. 构建项目
  4. 查看控制台输出
jenkin拉取git代码

方法1:直接填写命令进行拉取

方法2:使用源码管理插件拉取代码

  1. 安装好git插件

  2. 配置git地址

  3. 添加gitee账号

  4. 构建查看工作空间,是否拉取代码

    在这里插入图片描述

Jenkins常用场景-构建触发器

Jenkins定时构建项目

利用定时构建,跑对应的脚本

  1. cron表达式生成

    https://cron.qqe2.com/

  2. 构建触发器利用

    在这里插入图片描述

Jenkins项目关联触发

模拟:例如说开发构建完成之后,自动执行对应的脚本

  1. 选用复制旧项目,新建一个项目

  2. 设置关联项目自动执行后构建

    在这里插入图片描述

3.等待关联项目自动执行即可(关联项目配置定时)

触发远程构建及Gogs的应用

触发远程构建简单理解:当你的代码有更新的时候,希望Jenkins能够自动执行。但是因为对于Jenkins的触发远程构建触发,需要使用Webhook(钩子函数)要在同一个网络中。而像Gitee、GitLab、GitHub都是属于公共仓库,因此我们一般对应的源代码都在本地的仓库当中(包括很多同学都是内网的情况),所以常使用Gogs作为一个轻量级的自托管Git服务。

Gogs作为一个轻量级、易于部署和使用的自托管Git服务,为小型团队和个人开发者提供了一个简单而强大的版本控制解决方案。

  1. Gogs安装并启动
    1. 根据你的系统选择安装包并且解压,放在非中文目录下;
    2. 进入到目录,输入: gogs web 即能启动服务;
    3. 待启动完毕之后,直接访问: http://127.0.0.1:3000/ 即可打开。
  2. gogs启动及应用
  3. gogs项目构建
  4. 创建项目并上传到gogs上
  5. Gogs结合Jenkins进行构建
  6. Gogs结合Jenkins触发远程构建
    1. 进入到Gogs的:gogs\custom\conf\app.ini文件底部添加数据并且重启 Gogs

      #127.0.0.1 为Jenkins的IP地址

      LOCAL_NETWORK_ALLOWLIST = 127.0.0.1

    2. 安装插件Generic Webhook Trigger

    3. 在Jenkins中 构建触发器 -勾选 Generic Webhook Trigger 并且随意填写 token值

    4. gogs设置钩子函数

      在这里插入图片描述

    5. 当你的Gogs的代码更新,你可以在Jenkins看到项目被调用了。

阶段总结

Git

本地仓库和远程仓库的管理工具

本地仓库 —》个人电脑里面的某个文件夹(里面包含一个隐藏文件夹 .git)

Gogs/Gitee

远程仓库的存在(还有github,gitlab)

作用就是:存在一个网络环境,通过访问网络位置对仓库内的内容进行增删改查

Jenkins

jenkins是一个帮我们运行命令的工具

jenkins调用部署操作系统的命令行工具

场景:命令运行的先后关系管理

运行模式:触发式,定时,等等很多触发模式

测试人员常用的持续集成流程

回归测试(开发二次代码提交)

在这里插入图片描述

日常监控

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1424103.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Pycharm 关闭/退出烦人的Pytest模式

Pycharm 遇到:Run Python tests in ***.py ,但很多时候我们并不需要,真心烦人! 如何解决: 1 打开File-Settings (图片是新版界面,旧版同样操作) 2 Tools 中的Python Integrated Tools 在Tes…

AI在数模中的应用(附2024年美赛AI规则解读)

近期一直有人私信询问AI对数模的应用。本次想借着2024年美赛对AI工具的使用说明已经去年国赛开会的结果,跟大家分享一下国赛、美赛对于AI的态度以及如何使用AI应用于数模。本文将基于本人常用的三种AI工具(ChatGPT、文心一言、NEW bing)进行讲解 根据2023年国赛总结…

Vue3项目封装一个Element-plus Pagination分页

前言:后台系统分页肯定是离不开的,但是ui框架都很多,我们可以定义封装一种格式,所有项目按到这个结构来做. 实例: 第一步:在项目components组件新建一个分页组件,用来进行封装组件. 第二步:根据官方的进行定义,官方提供的这些,需要我们封装成动态模式 第三步:代码改造 <!-…

Revit中使用依赖注入

依赖注入的技术已经很成熟&#xff0c;本文主要是说明一下Revit中的适用版本与介绍相关的开源项目。 版本问题 版本 目前的依赖注入包无法支持Revit 2020 以下的版本&#xff0c;原因是因为包中的依赖项与Revit本身的依赖项不一致导致的&#xff0c;所以说如果使用Revit DI…

JDBC - 结构优化1

JDBC - 结构优化1 文章目录 JDBC - 结构优化1三层架构1 什么是三层架构2 三层架构项目搭建 结构优化1 - 学生信息管理1 封装工具类2 ORM3 DAO 三层架构 1 什么是三层架构 **三层架构&#xff1a;**将程序划分为表示层, 业务逻辑层, 数据访问层三层&#xff0c;各层之间采用接…

【51单片机系列】中断优先级介绍及使用

文章来源&#xff1a;《51单片机原理及应用&#xff08;第3版&#xff09;》5.4节。 51单片机采用了自然优先级和人工设置高、低优先级的策略。 当CPU处理低优先级中断&#xff0c;又发生更高级中断时&#xff0c;此时中断处理过程如下图所示。 一个正在执行的低优先级中断服…

Kotlin快速入门系列11

Kotlin的集合 集合类 Java类库有一套相当完整的容器集合类用来持有对象。跟Java一样&#xff0c;集合类存放的都是对象的引用&#xff0c;而非对象本身(我们经常说的集合指的是集合中对象的引用)&#xff0c;Kotlin的集合类是在Java的集合类库基础上进行的优化&#xff0c;新引…

-1- Python环境安装

1、Python安装 1.1、Windows安装Python 进入python官网&#xff1a;Welcome to Python.org点击 download——>all releases&#xff1b;建议选择3.7.2版本&#xff08;网页链接&#xff1a;Python Release Python 3.7.2 | Python.org&#xff09;&#xff1b;下拉&#xf…

【C++】默认成员函数

与普通成员函数差距较大&#xff0c;形式对于我们比较陌生&#xff0c;但这是语法&#xff0c;是我们是必须要掌握的。 目录 类的默认成员函数&#xff1a;构造函数&#xff1a;概念&#xff1a;语法&#xff1a;特性&#xff1a; 析构函数&#xff1a;概念&#xff1a;语法&a…

rp-bf:一款Windows下辅助进行ROP gadgets搜索的Rust库

关于rp-bf rp-bf是一款Windows下辅助进行ROP gadgets搜索的Rust库&#xff0c;该工具可以通过模拟Windows用户模式下的崩溃转储来爆破枚举ROP gadgets。 在很多系统安全测试场景中&#xff0c;研究人员成功劫持控制流后&#xff0c;通常需要将堆栈数据转移到他们所能够控制的…

Spark入门01-Spark简介

1 Spark是什么 Spark是用于大规模数据处理的统一分析引擎。对任意类型的数据进行自定义计算。 可以计算&#xff1a;结构化、非结构化&#xff0c;半结构化的数据结构&#xff0c;支持使用Python&#xff0c;Java&#xff0c;Scala、Sql语言开发应用程序计算数据。 计算框架&a…

一文掌握SpringBoot注解之@Configuration知识文集(1)

&#x1f3c6;作者简介&#xff0c;普修罗双战士&#xff0c;一直追求不断学习和成长&#xff0c;在技术的道路上持续探索和实践。 &#x1f3c6;多年互联网行业从业经验&#xff0c;历任核心研发工程师&#xff0c;项目技术负责人。 &#x1f389;欢迎 &#x1f44d;点赞✍评论…

不同生态系统蒸散发研究进展_刘超_2023

不同生态系统蒸散发研究进展_刘超_2023 摘要关键词 1 研究方法1.1 实测法1.1.1 蒸渗仪1.1.2 气孔计法1.1.3 化学示踪法1.1.4 大孔径闪烁仪1.1.5 涡动相关法 1.2 模型法1.2.1 水量平衡法1.2.2 波文比-能量平衡法1.2.3 遥感技术1.2.4 综合法和辐射法 2 研究展望2.1 研究进展2.2 存…

使用 Docker 部署扫雷小游戏

1&#xff09;源码 介绍&#xff1a;扫雷游戏是一款经典的单人益智游戏&#xff0c;旨在通过揭示方块和避开地雷来展示玩家的逻辑思维和推理能力。 源码&#xff1a;saolei.zip 个人文件站&#xff1a;https://share.wuhanjiayou.cn/ 2&#xff09;部署 2.1&#xff09;安装…

中科大计网学习记录笔记(一):Internet | 网络边缘

计算机网络 前言&#xff1a; 学习视频&#xff1a;中科大郑烇、杨坚全套《计算机网络&#xff08;自顶向下方法 第7版&#xff0c;James F.Kurose&#xff0c;Keith W.Ross&#xff09;》课程 该视频是B站非常著名的计网学习视频&#xff0c;但相信很多朋友和我一样在听完前面…

学习嵌入式第十五天之结构体

用变量a给出下面的定义 a) 一个整型数&#xff08;An integer&#xff09; //int a;b) 一个指向整型数的指针&#xff08;A pointer to an integer&#xff09; //int *a;c) 一个指向指针的的指针&#xff0c;它指向的指针是指向一个整型数&#xff08;A pointer to a poin…

通用CI/CD软件平台TeamCity全新发布v2023.11——增强Git托管平台的集成

TeamCity是一个通用的 CI/CD 软件平台&#xff0c;可以实现灵活的工作流、协作和开发做法。我们的解决方案将帮助在您的 DevOps 流程中成功实现持续集成、持续交付和持续部署。 TeamCity 2023.11正式版下载 TeamCity 2023.11 带来了矩阵构建和构建缓存等多项备受期待的功能&a…

Redis -- 单线程模型

失败是成功之母 ——法国作家巴尔扎克 目录 单线程模型 Redis为什么这么快 单线程模型 redis只使用一个线程&#xff0c;处理所有的命令请求&#xff0c;不是说redis服务器进场内部真的就只有一个线程&#xff0c;其实也有多个线程&#xff0c;那就是处理网络和io的线程。 R…

计算机设计大赛 深度学习 opencv python 实现中国交通标志识别_1

文章目录 0 前言1 yolov5实现中国交通标志检测2.算法原理2.1 算法简介2.2网络架构2.3 关键代码 3 数据集处理3.1 VOC格式介绍3.2 将中国交通标志检测数据集CCTSDB数据转换成VOC数据格式3.3 手动标注数据集 4 模型训练5 实现效果5.1 视频效果 6 最后 0 前言 &#x1f525; 优质…

【零基础学习CAPL】——CAN报文的发送(按下按钮同时周期性发送)

🙋‍♂️【零基础学习CAPL】系列💁‍♂️点击跳转 文章目录 1.概述2.面板创建3.系统变量创建4.CAPL实现4.1.函数展示4.2.全量报文展示5.效果1.概述 本章主要介绍使用CAPL和Panel在按下按钮时发送周期性CAN报文。 本章主要在“【零基础学习CAPL】——CAN报文的发送(配合P…