• Jenkins--部署--3.1--代码提交自动触发jenkins--方式1


    Jenkins–部署–3.1–代码提交自动触发jenkins–方式1


    1、介绍

    使用 Generic Webhook Trigger方式

    2、配置

    2.1、创建流水线任务

    autoPush
    
    • 1

    脚本内容

    pipeline {
    	//运行在任意的可用节点上
    	agent any
    	stages {
    		stage('阶段1') {
    			steps("步骤名称:拉取代码"){ 
    				echo '打印:拉取代码' 
    			}
    		}
    	}
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    在这里插入图片描述

    2.2、配置触发器

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    2.3、gitlab 配置钩子

    在这里插入图片描述

    在这里插入图片描述

    2.4、测试

    提交代码后

    在这里插入图片描述

    3、配置匹配规则

    3.1、输出的请求参数

    {
      "object_kind": "push",
      "event_name": "push",
      "before": "d70bf1526bf3290df712fc63c40d371857e36685",
      "after": "67f35f0361f320fb35aa7079447778e3aec24aab",
      "ref": "refs/heads/master",
      "checkout_sha": "67f35f0361f320fb35aa7079447778e3aec24aab",
      "message": null,
      "user_id": 2,
      "user_name": "zhoufei",
      "user_username": "zhoufei",
      "user_email": "920786312@qq.com",
      "user_avatar": "https://www.gravatar.com/avatar/83c56c2ac027851091a829ad08992525?s=80&d=identicon",
      "project_id": 2,
      "project": {
        "id": 2,
        "name": "user_manager",
        "description": "用户管理",
        "web_url": "http://gitlab.xgss.net/user_search/user_manager",
        "avatar_url": null,
        "git_ssh_url": "git@gitlab.xgss.net:user_search/user_manager.git",
        "git_http_url": "http://gitlab.xgss.net/user_search/user_manager.git",
        "namespace": "user_search",
        "visibility_level": 0,
        "path_with_namespace": "user_search/user_manager",
        "default_branch": "master",
        "ci_config_path": null,
        "homepage": "http://gitlab.xgss.net/user_search/user_manager",
        "url": "git@gitlab.xgss.net:user_search/user_manager.git",
        "ssh_url": "git@gitlab.xgss.net:user_search/user_manager.git",
        "http_url": "http://gitlab.xgss.net/user_search/user_manager.git"
      },
      "commits": [
        {
          "id": "67f35f0361f320fb35aa7079447778e3aec24aab",
          "message": "init\n",
          "timestamp": "2022-07-23T12:32:10Z",
          "url": "http://gitlab.xgss.net/user_search/user_manager/commit/67f35f0361f320fb35aa7079447778e3aec24aab",
          "author": {
            "name": "zhoufei",
            "email": "920786312@qq.com"
          },
          "added": [
            "readme25.md"
          ],
          "modified": [],
          "removed": []
        }
      ],
      "total_commits_count": 1,
      "repository": {
        "name": "user_manager",
        "url": "git@gitlab.xgss.net:user_search/user_manager.git",
        "description": "用户管理",
        "homepage": "http://gitlab.xgss.net/user_search/user_manager",
        "git_http_url": "http://gitlab.xgss.net/user_search/user_manager.git",
        "git_ssh_url": "git@gitlab.xgss.net:user_search/user_manager.git",
        "visibility_level": 0
      }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60

    3.2、匹配参数语法

    3.2.1、取值语法

    1. $开头表示:是一个变量
    2. .表示:根节点
    3. $key,如果取出的value还是json那么则以点为分隔符继续写key的名字

    3.2.2、举例

    # 取出 "user_name": "zhoufei" 这一行中的value
    .user_name
    
    # 取出 "name": "user_manager" 这一行中的value
    .project.name
    
    • 1
    • 2
    • 3
    • 4
    • 5

    3.3、配置匹配参数

    3.3.1、匹配参数

    ref
    $.ref
    
    project_name
    $.project.name
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    新增一个变量

    在这里插入图片描述
    在这里插入图片描述

    再新增一个变量
    在这里插入图片描述

    3.3.2、匹配规则

    在这里插入图片描述

    refs/heads/master_user_manager
    $ref_$project_name
    
    • 1
    • 2
    1. Expression:写匹配规则,支持正则
    2. Text:要匹配的文本内容
      1. KaTeX parse error: Expected group after '_' at position 4: ref_̲project_name:对应内容是refs/heads/master_user_manager,也就是Expression要匹配的内容
    3. 只有匹配成功,才回走流水线脚本

    4、测试

    提交代码
    在这里插入图片描述

  • 相关阅读:
    Pr:导出设置之编码设置
    Python pathlib模块
    python socket编程1 - socket创建参数说明及参考规范
    大语言模型系列-微调技术
    算法优化,最短路径。
    1412. 查找成绩处于中游的学生
    手把手教你编写性能测试用例
    SSM学习——apipost测试几种常用的请求与响应(11)
    神经压缩文本训练:提升大型语言模型效率的新方法
    SystemVerilog Assertions应用指南 第一章(1.23章节 “intersect”运算符)
  • 原文地址:https://blog.csdn.net/zhou920786312/article/details/125955740