小哥之哥 小哥之哥
首页
    • Prometheus
    • Kubertenes
    • Docker
    • MySQL
  • Go
  • Python
  • Vue
  • Jenkins
  • ELK
  • LDAP
  • 随笔
  • 最佳实践
  • 博客搭建
  • 问题杂谈
关于
友链
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

小哥之哥

运维扫地僧
首页
    • Prometheus
    • Kubertenes
    • Docker
    • MySQL
  • Go
  • Python
  • Vue
  • Jenkins
  • ELK
  • LDAP
  • 随笔
  • 最佳实践
  • 博客搭建
  • 问题杂谈
关于
友链
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • LDAP

  • Jenkins

    • Jenkins之Docker部署
    • Jenkins之自动化项目发布
    • Jenkins之使用ansible发布项目
    • Jenkins之pipline初识
    • Jenkins之pipline语法
    • Jenkins之钉钉通知
    • Jenkins最佳实践之为job添加构建预览信息
    • Jenkins最佳实践之webhook
    • 技术专题
    • Jenkins
    tchua
    2023-06-15
    目录

    Jenkins最佳实践之webhook

    # 一、概述


    日常的开发持续集成过程中,我们通过jenkins的CI/CD通过构建实现自动化构建及发布,已经大大提升了我们工作效率,缩短上线周期,但是针对于每次提交都需要发布,我们也可以借助Jenkins的webhook功能,当我们提交代码时自动触发Jenkins构建操作,从而达到项目的构建及发布操作。

    ​ Jenkins的构建触发器有很多种,这里介绍下我们常用的几种,gitee、gitlab、github。

    # 二、gitee自动化


    # 2.1 Jenkins插件配置

    Gitee自动化发布,我们需要在Jenkins上安装插件Gitee Plugin

    image-20230615164940983

    # 2.2 配置触发器

    安装后,会在job配置页面的【构建触发器】中,有gitee webhook相关的选项,主要两个地方:一个是构建策略,一个是webhook密码

    image-20230615165452853

    image-20230615165601261

    # 2.3 gitee仓库webhook配置

    我们需要到gitee对应的代码仓库页面,找到仓库设置中的webhook选项

    image-20230615170022156

    image-20230615170332929

    注意

    这里需要注意的是,URL配置项,我上面配置的是一个内网地址,实际生产中我们必须配置一个公网可访问的地址(等同于jenkins需要开放0.0.0.0/0访问),否则gitee服务器访问不到,那么webhook就会配置失败。

    # 2.4 测试

    上面配置完成之后,我们返回Webhook创建页面,点击测试即可模拟事件触发webhook,然后回到jenkins所对应的job页面查看是够正常自动发布即可

    image-20230615171006857

    查看jenkins页面

    image-20230615173748792

    # 三、gitlab自动化


    GitLab是一个全面的平台,涵盖了软件开发生命周期的各个方面,并支持开发团队之间的协作,被个人、小团队和大型企业广泛使用,gitlab配置步骤与gitee基本一致,都是先在Jenkins安装插件,然后在代码仓库里面配置对应的地址即可。

    # 3.1 Jenkins插件配置

    去插件中心安装Gitlab插件,插件名可能不同的版本会有所差别,安装的时候注意下就行

    image-20230615171916746

    # 2.2 配置触发器

    这几勾选后,其他默认即可

    image-20230615172208952

    高级配置项中生成token,仓库代码处使用

    image-20230615172518353

    # 2.3 gitlab配置

    这里与gitee有些差别,我们需要先允许钩子在外部访问

    image-20230615172915012

    代码仓库配置,配置相关参数后,点击下面保存即可

    image-20230615173218653

    配置项解读

    • 链接(URL): jenkins job页面对应的地址
    • 安全令牌: 这里就是上面生成的token
    • 触发器: 默认都是代码推送事件
    # 2.4 测试

    这里选择时间测试的时候,需要保证该事件是存在的,否则有可能不会正常触发

    image-20230615173456780

    注意

    这里也需要注意,我们需要保证Gitlab服务器可以正常访问到Jenking地址,否则还是无法触发自动化发布,不过这里因为大多数gitlab都是我们自己部署搭建的,因此我们可以指定授权jenkins服务访问(开放指定端口即可),可以大大提高jenkins的安全性(不用完全暴露至公网)。

    图片

    编辑 (opens new window)
    上次更新: 2023/06/29, 18:27:26
    Jenkins最佳实践之为job添加构建预览信息

    ← Jenkins最佳实践之为job添加构建预览信息

    最近更新
    01
    cert-manager自动签发Lets Encrypt
    09-05
    02
    Docker构建多架构镜像
    08-02
    03
    Prometheus数据迁移至VMstorage
    08-01
    更多文章>
    Theme by Vdoing | Copyright © 2023-2024 |豫ICP备2021026650号
    • 跟随系统
    • 浅色模式
    • 深色模式
    • 阅读模式