• 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、测试

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

  • 相关阅读:
    vue.js父组件访问子组件
    js内存与数据
    java 工程管理系统源码+项目说明+功能描述+前后端分离 + 二次开发
    Python基础教程(二十四):日期和时间
    PCL 计算一个平面与包围盒体素的相交线
    存储器和CPU的连接与TCP的流量控制
    Promise 及其基于 Typescript 的实现
    从功能测试到自动化测试,我在阿里的这7年
    JVM常用概念之扁平化堆容器
    【安全】Java幂等性校验解决重复点击(6种实现方式)
  • 原文地址:https://blog.csdn.net/zhou920786312/article/details/125955740