Jenkins 集成Gitlab pipeline,web hook

2023-11-10

Jenkins构建步骤

拉取代码
代码构建
单元测试
质量扫描
部署开发环境

Jenkins pipeline语法

Stage:阶段,一个pipeline可划分为若干个stage,没个stage代表一组操作。例如Build,Test,Deploy。注意点:Stage是一个逻辑分组的概念,可以跨多个Node
Node:节点,一个节点就是一个Jenkins节点,或者是master,或者是agent是执行step的具体运行环境,所有任务都是在node上执行
Step:步骤,Step是最基本的操作单元,小到创建一个目录,大到构建一个Docker镜像,由各类Jenkins Plugin提供,例如:sh ‘make’

pipeline 测试

pipeline script

pipeline {
    agent any

    stages {
        stage('Hello') {
            steps {
                echo 'Hello World'
            }
        }
        stage('拉取代码') {
            steps {
                echo 'code pull'
            }
        }
        stage('代码构建') {
            steps {
                echo 'code build'
            }
        }
        stage('unit test') {
            steps {
                echo 'unit test'
            }
		}
        stage('是否部署开发环境') {
           steps {
                input  '是否部署'
            }
        }
   }   
 }

在这里插入图片描述

保存后构建

在这里插入图片描述

配置Jenkins 连接到 Gitlab,实现拉取代码

gitlab,创建组,项目(Jenkins)

在这里插入图片描述

在这个组下创建项目Jenkins
配置密钥对,把公钥上传到gitlab 实现服务器免密登录到gitlab,拉取代码(这个在gitlab有写,需要注意的是全局的密钥对还是某个项目的密钥对)

Jenkins语法生成器,配置语法连接到gitlab

使用语法生成器

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

Repository URL

从gitlab找到克隆的网址,选择ssh的方式
在这里插入图片描述

配置密钥对,连接到gitlab(这个密钥对作用是Jenkins可以从gitlab托取代码)

配置密钥对可以通过网上查找linux 生成密钥对
点击Jenkins,对Jenkins添加密钥对

在这里插入图片描述

在这里插入图片描述

还是报错是因为是全局的key不是项目的,要在gitlab里把公钥添加到项目

在这里插入图片描述

在Jenkins上重新选择,点击Generate Pipeline Script 生成语句,并添加到Pipeline Script,保存构建(这条生成的语句是为了连接到gitlab)

在这里插入图片描述

在这里插入图片描述

Jenkins集成gitlab web hook 实现提交代码自动构建

目的:当开发提交代码,Jenkins自动构建任务

Jenkins安装插件

gitlab,gitlab hook, gitlab authentication
在这里插入图片描述

gitlab生成令牌(token)

在这里插入图片描述

Jenkins系统配置gitlab 身份token

在这里插入图片描述

在这里插入图片描述

Jenkins构建项目添加构建触发条件两种方式

使用token方式

在这里插入图片描述

复制下图的URL添加到gitlab里
在这里插入图片描述
在这里插入图片描述
取消下面 SSL verification认证

使用密码登录方式

在这里插入图片描述

测试完成后,就可以测试更改代码,提交后看Jenkins是否自动构建任务

提交代码,查看是否自动构建

在这里插入图片描述

当Jenkins和gitlab在同一台服务器时,gitlab提示连接Jenkins失败解决方案

在gitlab admin配置里,找到Outbound requests,允许Jenkins和gitlab在同一台服务器时启用webhooks

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Jenkins 集成Gitlab pipeline,web hook 的相关文章

随机推荐

  • 【Unity项目】登录界面

    数据库 登录时验证用户名和密码 使用MySQL数据库管理数据 类中的主要方法也都是使用SQL语句完成 类中还提供两个接口 一个通过username获取UserInfo 一个是直接获取到排行榜 数据库连接类 using System usin
  • Java中的Thread类

    目录 一 什么是Thread类 二 Thread类的基本用法 三 线程的并发执行 一 什么是Thread类 在java标准库中 提供了一个Thread类 用来表示 操作线程 Thread类可以视为是Java标准库提供的API Java是支持
  • img图片在限定尺寸下等比缩放;点击查看原图

    一 图片等比缩放 效果 html div class row img src div div class row div 查看原图 div div css 对img外层div尺寸限制 img长宽自适应 imgbox max width 10
  • Vue脚手架

    安装 前提 Node js安装 打开想要建脚手架的文件夹 把文件夹的地址改为cmd打开终端输入以下代码 1 执行npm install g vue cli安装脚手架 2 安装完成后 可以使用vue version 3 我们测试下 在桌面创建
  • 微软网盘onedrive

    将微软网盘 做成一个共享网站 好处就是可以分享大文件 而且还不限制下载速度 如果你受够了百度网盘的限速 可以试试这个 来看看常见的几款Onedrive网盘程序 1 OneIndex 第一个微软网盘分享程序 php编写 兼容性好 我在用 作者
  • Qt鼠标事件

    新建桌面应用程序testMouseEvent 类名MouseEvent 基类QMainWindow 通过重写鼠标事件达到跟踪鼠标位置的效果 添加2个标签做转态及位置更新用 重写鼠标事件 mouseevent h ifndef MOUSEEV
  • 早早踏入刷脸支付市场的人收获颇丰

    支付行业是永远不会萧条的行业 因为只要市场上存在交易 有资金流通就需要支付工具的支撑 不仅如此 支付行业的收入十分稳定 它产生的利润不会受商品价位变化的周期性影响 无论商家经营好坏 它的利润都是保持不变的 所以支付行业对于一些追求持续稳定利
  • 基于python的数字图像处理--学习笔记(三)

    基于python的数字图像处理 学习笔记 三 前言 一 灰度拉伸 二 幂律 伽马 变换 三 对数变换 前言 进入冈萨雷斯的第三章内容 并用python实现功能 我更改了代码源 之前找到太烂了 代码全是错 现在使用的代码很清晰 功能也很全 一
  • pytorch: where、gather函数

    一 where函数 torch where condition x y out x if condition is 1 y if condition is 0 In 29 cond torch rand 2 2 In 30 cond Out
  • Python-Numpy多维数组--切片,索引,高级索引,布尔索引

    一 Numpy 切片和索引 ndarray对象的内容可以通过索引或切片来访问和修改 就像 Python 的内置容器对象一样 如前所述 ndarray对象中的元素遵循基于零的索引 有三种可用的索引方法类型 字段访问 基本切片和高级索引 基本切
  • 苹果公司开始招人发力6G无线技术,你们怎么看?

    全球财经观察 新闻速递 看行业 根据彭博社的Mark Gurman发现的招聘信息 苹果正在招聘工程师 从事下一代6G无线技术的研发 根据Gurman的报道 这些职位位于苹果公司在硅谷和圣迭戈办公室 该公司在那里从事无线技术研发和芯片设计 新
  • 设计模式--工厂模式--抽象工厂模式

    工厂模式属于创建型模式基本原理 使用一个工厂类统一生产各种产品 主要流程 1 创建产品的基类 便于统一返回创建的产品 2 创建各种产品 继承基类 注意多态 3 创建工厂类 对每种产品进行区分创建 4 在使用时要先实例化工厂类 在调用期内生产
  • 洛谷-【入门1】顺序结构——C语言

    1 Hello World 题目描述 编写一个能够输出 Hello World 的程序 include
  • iframe 父子组件通信 vue3

    父组件
  • hadoop作业执行流程及代码简略解读

    hadoop作业执行流程及代码简略解读 本文 参考了网上的博文 出处也不知是哪里 不好意思 最近整理磁盘文档发现的好资料所以整理补充了一下供大家学习参考一下吧 1 主要组成部分 Hadoop包括hdfs与mapreduce两部分 hdfs则
  • 区块链密码学学习笔记

    一 哈希算法 哈希函数是将任意长度的二进制明文通过算法处理映射为较短且固定长度的 二进制值 映射后的值也被称为哈希值 哈希值的数据唯一 且形式紧凑 即使只是变更明文中的一个字母 最终得到的哈希值也会发生变更 由于哈希算法本身的特点 任何人都
  • 微信OAuth总结

    基本流程 首先需要登录微信公众号管理后台 配置允许跳转的域名 该域名必须是2级域名 不支持1级域名 所以数量有限 需要规划好 比如配置了a exmaple com为跳转域名 就无法再跳转到b example com了 如果这里配置错误的话
  • Android 学习笔记

    目录 一 Android入门 1 Android 概述 2 Android Studio 3 创建模拟器 4 使用外部模拟器 5 第一个app 二 app开发基础 1 开发语言 2 app工程目录结构 3 文本控件TextView 1 设置
  • 将Eclipse设置为中文

    文章目录 前言 将Eclipse设置为中文 总结 前言 Eclipse默认是英文的 本文详细描述了Eclipse的汉化过程 提示 以下是本篇文章正文内容 下面案例可供参考 将Eclipse设置为中文 语言包下载链接 www eclipse
  • Jenkins 集成Gitlab pipeline,web hook

    Jenkins 集成Gitlab Jenkins构建步骤 Jenkins pipeline语法 pipeline 测试 配置Jenkins 连接到 Gitlab 实现拉取代码 gitlab 创建组 项目 Jenkins Jenkins语法生