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

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

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

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

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

日常监控

相关推荐
邝邝邝邝丹15 分钟前
React学习———React.memo、useMemo和useCallback
javascript·学习·react.js
一年春又来31 分钟前
AI-02a5a6.神经网络-与学习相关的技巧-批量归一化
人工智能·神经网络·学习
s1ckrain1 小时前
嵌入式操作系统学习笔记
学习·嵌入式·ucosii
jackson凌1 小时前
【Java学习笔记】finalize方法
java·笔记·学习
能来帮帮蒟蒻吗1 小时前
VUE3 -综合实践(Mock+Axios+ElementPlus)
前端·javascript·vue.js·笔记·学习·ajax·typescript
o(╥﹏╥)1 小时前
绑定 SSH key(macos)
开发语言·git·学习·macos
XQ丶YTY2 小时前
大二java第一面小厂(挂)
java·开发语言·笔记·学习·面试
Always_away2 小时前
数据库系统概论|第七章:数据库设计—课程笔记
数据库·笔记·sql·学习
东京老树根2 小时前
SAP学习笔记 - 开发08 - Eclipse连接到 BTP Cockpit实例
笔记·学习
lichuangcsdn3 小时前
【springcloud学习(dalston.sr1)】Eureka单个服务端的搭建(含源代码)(三)
学习·spring cloud·eureka