Gitea 与 Jenkins 的集成实践,打造你的专属 CI/CD 系统

前言

Gitea 是一个用于代码托管的轻量级单体程序,它能与现有的经典应用集成,诸如代码分析工具 SonarQube、持续集成工具 Drone、Jenkins 以及用于工单管理的客户端插件(VSCode、Jenkins IDE)。 不久之后,Gitea 也将迎来自身集成的一体化 CI/CD 功能。

今天要介绍的是 Gitea 与 Jenkins CI/CD 的集成。

关于 Jenkins

Jenkins 是一款开源的、提供友好操作界面的持续集成(CI)工具,在国内外都有众多的使用者。Jenkins 具有以下优点:

  • 界面友好
  • 插件丰富
  • 可编程的 API
  • 历史悠久、社区活跃

因此 Jenkins 也被众多的企业或者组织用来构建自己的 CI/CD 系统。

然而,Jenkins 本身并不具备源代码管理的能力,对于一个完整的 CI/CD 系统来讲,必须要从源代码管理系统开始。所以,本文将介绍如何利用 Gitea 和 Jenkins 来构建一个完整的 CI/CD 系统。

关于 Jenkins 的 Gitea 插件

Jenkins 支持从通用 Git 服务器拉取代码,无需安装额外的插件即可配合 Gitea 使用。用于 Jenkins 的 Gitea 插件作用在于将 Jenkins CI/CD 权限直接赋予 Gitea 服务器上被授权的组织或个人,用户无需单独为每一个仓库配置 Jenkins 触发器即可享受 CI/CD 功能。

当用户在仓库中创建 Jenkinsfile 时,Jenkins 能够自动扫描到该仓库并启动 CI/CD 流水线。

插件详情:https://plugins.jenkins.io/gitea/

流程概览

本次集成实践主要包含以下内容

  • Gitea Plugin 插件的介绍和配置
  • Gitea + Jenkins 的 CI/CD 环境搭建
  • 利用 Gitea 的 Webhook 功能,从 Gitea 侧触发 Jenkins Pipeline

Gitea

  1. 在 Gitea 注册用户 Jenkins,同时为用户 Jenkins 添加 API Access Token,用于 Jenkins 从 Gitea 拉取代码
  2. 在 Gitea 中创建组织 GiteaTeam,并且将 Jenkins 用户添加为组织管理员
  3. 在 GiteaTeam 组织中创建代码仓库 JenkinsExample
  4. 修改 Gitea 服务器的 Webhook 设置

Jenkins

  1. 登录 Jenkins 管理面板,安装插件:Gitea
  2. 打开 Manage Credentials 添加 Gitea 访问令牌,用于从 Gitea 拉取代码、通过 API 安装 Webhook
  3. 打开 Configure System 配置 Gitea Server 插件,填写 Gitea 服务器地址和 Mange Hooks 令牌(选用上一步填写的 Credentials)
  4. 集成演示 JenkinsExample

Gitea + Jenkins 的 Docker Compose 配置示例

如果您还没有搭建以上环境,我们提供了一个 docker-compose.yml 模板帮助您快速启动,模板内容附在本文最后。

  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值