持续集成的学习(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调用部署操作系统的命令行工具

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

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

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

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

日常监控

相关推荐
一隅论数智2 天前
给AI一张“业务概念地图“:本体如何从哲学走向企业智能
大数据·人工智能·经验分享·笔记·学习·学习方法·政务
XiHongShi20162 天前
STM32F407 RTC定时器例程,建议保存
stm32·单片机·学习
爱吃苹果的日记本2 天前
离散数学第六课
学习·离散数学
AI职业加油站2 天前
AI智能体应用工程师证书:政策红利下的职业新风口
大数据·运维·人工智能·学习·职场发展
旖旎夜光2 天前
力控面试题 01.01: 判定字符是否唯一(位运算) —— 题解
c++·学习·算法·leetcode·力控
奇思妙想聪明勤奋的小羊2 天前
DeepAgents第5章:子Agent 与上下文隔离—让 Agent学会委派
人工智能·python·学习·语言模型
霍霍的袁2 天前
【C++】map 和 set 的使用 | 从用法到底层
开发语言·c++·学习·visual studio
彧azz2 天前
Linux 环境下 Redis 学习总结:数据类型、持久化、锁、事务、主从与缓存问题
linux·redis·笔记·学习·面试
我爱cope2 天前
【操作系统 | 计算机硬件:CPU、内存与 I/O 如何支撑操作系统?】
学习·操作系统