持续集成的学习(jenkins)

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调用部署操作系统的命令行工具

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

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

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

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

日常监控

相关推荐
西岸行者3 天前
学习笔记:SKILLS 能帮助更好的vibe coding
笔记·学习
悠哉悠哉愿意3 天前
【单片机学习笔记】串口、超声波、NE555的同时使用
笔记·单片机·学习
别催小唐敲代码3 天前
嵌入式学习路线
学习
毛小茛3 天前
计算机系统概论——校验码
学习
babe小鑫3 天前
大专经济信息管理专业学习数据分析的必要性
学习·数据挖掘·数据分析
winfreedoms3 天前
ROS2知识大白话
笔记·学习·ros2
在这habit之下3 天前
Linux Virtual Server(LVS)学习总结
linux·学习·lvs
我想我不够好。3 天前
2026.2.25监控学习
学习
im_AMBER3 天前
Leetcode 127 删除有序数组中的重复项 | 删除有序数组中的重复项 II
数据结构·学习·算法·leetcode
CodeJourney_J3 天前
从“Hello World“ 开始 C++
c语言·c++·学习