如何搭建 Git + Jenkins

搭建 Git + Jenkins 的持续集成(CI)环境是一个常见的 DevOps 实践,可以帮助团队自动化代码构建、测试和部署。以下是详细的步骤指南:


1. 准备工作

  • Git 仓库:确保你有一个 Git 仓库(如 GitHub、GitLab、Bitbucket 或自建 Git 服务器)。
  • 服务器:准备一台服务器(物理机或虚拟机)用于安装 Jenkins。
  • 环境要求
    • 操作系统:Linux(如 Ubuntu/CentOS)或 Windows。
    • Java:Jenkins 是基于 Java 的,需要安装 JDK 8 或更高版本。

2. 安装 Jenkins

在 Linux 上安装 Jenkins

  1. 安装 Java

    sudo apt update
    sudo apt install openjdk-11-jdk
    java -version  # 验证安装
    
  2. 添加 Jenkins 仓库

    curl -fsSL https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo tee /usr/share/keyrings/jenkins-keyring.asc > /dev/null
    echo deb [signed-by=/usr/share/keyrings/jenkins-keyring.asc] https://pkg.jenkins.io/debian-stable binary/ | sudo tee /etc/apt/sources.list.d/jenkins.list > /dev/null
    sudo apt update
    
  3. 安装 Jenkins

    sudo apt install jenkins
    
  4. 启动 Jenkins

    sudo systemctl start jenkins
    sudo systemctl enable jenkins  # 设置开机自启
    
  5. 访问 Jenkins

    • 打开浏览器,访问 http://<服务器IP>:8080
    • 从日志中获取初始管理员密码:
      sudo cat /var/lib/jenkins/secrets/initialAdminPassword
      
  6. 完成初始化设置

    • 安装推荐的插件。
    • 创建管理员用户。

在 Windows 上安装 Jenkins

  1. 下载 Jenkins 的 Windows 安装包(.msi):
    • 访问 Jenkins 官网 下载。
  2. 运行安装包,按照提示完成安装。
  3. 访问 http://localhost:8080,按照提示完成初始化设置。

3. 配置 Jenkins

  1. 安装 Git 插件

    • 进入 Jenkins 管理界面,点击 Manage Jenkins > Manage Plugins
    • Available 选项卡中搜索 Git Plugin,安装并重启 Jenkins。
  2. 配置 Git

    • 进入 Manage Jenkins > Global Tool Configuration
    • 找到 Git 部分,配置 Git 可执行文件路径(如果 Git 已安装,Jenkins 通常会自动检测)。
  3. 配置 JDK、Maven/Gradle(可选)

    • 如果你的项目需要 Java 构建工具,可以在 Global Tool Configuration 中配置 JDK、Maven 或 Gradle。

4. 创建 Jenkins 任务

  1. 新建任务

    • 点击 Jenkins 首页的 New Item
    • 输入任务名称,选择 Freestyle projectPipeline,点击 OK
  2. 配置 Git 仓库

    • Source Code Management 部分,选择 Git
    • 输入 Git 仓库的 URL(如 https://github.com/your-repo.git)。
    • 如果需要认证,添加凭据(用户名/密码或 SSH 密钥)。
  3. 配置触发器

    • Build Triggers 部分,选择 Poll SCMGitHub hook trigger
      • Poll SCM:定时检查 Git 仓库是否有更新。
      • GitHub hook:通过 Webhook 触发构建(需要在 GitHub 仓库中配置 Webhook)。
  4. 配置构建步骤

    • Build 部分,添加构建步骤:
      • 如果是 Maven 项目,选择 Invoke top-level Maven targets
      • 如果是 Shell 脚本,选择 Execute shell,输入构建命令(如 mvn clean install)。
  5. 保存并运行

    • 点击 Save,然后点击 Build Now 手动触发构建。

5. 配置 Webhook(可选)

为了实现 Git 提交后自动触发 Jenkins 构建,可以配置 Webhook:

  1. 在 Jenkins 中启用 Webhook
    • 确保 Jenkins 任务中已启用 GitHub hook trigger
  2. 在 GitHub/GitLab 中配置 Webhook
    • 进入 Git 仓库的 Settings > Webhooks
    • 添加 Webhook,URL 填写 http://<Jenkins服务器IP>:8080/github-webhook/
    • 选择触发事件(如 push)。

6. 配置 Pipeline(可选)

对于更复杂的项目,可以使用 Jenkins Pipeline:

  1. 在 Jenkins 任务中选择 Pipeline
  2. Pipeline 部分,选择 Pipeline scriptPipeline script from SCM
  3. 编写 Jenkinsfile(定义构建流程),并将其提交到 Git 仓库。

示例 Jenkinsfile:

pipeline {agent anystages {stage('Build') {steps {sh 'mvn clean install'}}stage('Test') {steps {sh 'mvn test'}}stage('Deploy') {steps {sh 'echo "Deploying..."'}}}
}

7. 验证

  • 提交代码到 Git 仓库,观察 Jenkins 是否自动触发构建。
  • 查看构建日志,确保构建成功。

8. 扩展功能

  • 邮件通知:配置 Jenkins 在构建失败时发送邮件通知。
  • 构建报告:集成测试报告工具(如 JUnit、Allure)。
  • 多环境部署:配置不同的 Jenkins 任务或 Pipeline 阶段,支持测试环境、预生产环境和生产环境的部署。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/890627.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[数据结构]树

我最喜欢六花了树(基础) 1 定义 1.1 树是什么 树是一种数据结构,因为形似倒着的树而得名. 树是一种特殊图 1.2 树的定义 递归定义 1.2.1 有根树的定义 形象化的,如图1,有根树存在根节点这一定义,从根节点可以分出任意个分支,这任意个分支又可以继续细分,分出的节点称…

StrokesPlus【电脑鼠标键盘手势软件】v0.5.8.0 中文绿色便携版

点击上方蓝字关注我 前言 StrokesPlus.net是一个超方便的手势识别软件,它能帮你用手势来代替鼠标和键盘操作。用起来既简单又灵活,功能还特别强大。 操作起来非常简单,它有好多实用的功能,比如智能识别你写的字、设定手势操作的区域、模拟鼠标的各种动作、运行脚本、响应窗…

大模型推理主战场:什么才是通信协议标配?

关键词:# DeepSeek ;# SSE ;# WebSocketSSE 和 WebSocket 是什么? 大模型应用出现前的主流网络通信协议是什么? 为什么大模型应用没有沿用 Web 类应用的主流通信协议? 为什么 SSE 和 WebSocket 更适合支持大模型应用? 实时通信协议的技术挑战和应对方案 Whats Next?Dee…

webSocket在.net中的使用案例

前言前面asp.net实现长连接 - chenxizhaolu - 博客园学习了如何在asp.net中实现http长连接,这里继续学习websocket。WebSockets 是一种协议,它能让客户端和服务器之间通过单个长期连接进行无缝通信。与 HTTP 等遵循请求-响应模式的传统网络通信方法不同,WebSockets 引入了全…

SQL SERVER日常运维巡检系列之-性能

前言做好日常巡检是数据库管理和维护的重要步骤,而且需要对每次巡检日期、结果进行登记,同时可能需要出一份巡检报告。本系列旨在解决一些常见的困扰:不知道巡检哪些东西 不知道怎么样便捷体检 机器太多体检麻烦 生成报告困难,无法直观呈现结果 性能是系统好坏的重要指标之…

burpsuite激活

激活burpsuite——教程点击Start 文件,把三个框都选上点击RUN,会自动启动,复制一下那个证书粘贴刚刚复制的密钥,点击下一个即可这里点击手动激活,复制请求,粘贴到刚刚那个激活程序的:Activation Request 它会自动生成Response,Copy就行到Burpsutie 里面复制一下,然后点…

KBP310-ASEMI整流桥稳定电力的核心担当

KBP310-ASEMI整流桥稳定电力的核心担当编辑:ll 在当今电子科技飞速发展的时代,各类电子设备充斥着我们的生活,从日常使用的手机、电脑,到工业生产中的大型机械,稳定的电力供应都是它们正常运转的基石。而在这背后,有一个常常被忽视却又至关重要的元件 ——KBP310 整流桥。…

GraphQL开发工具选型指南:Apipost高效调试与文档生成实战解析

GraphQL 调试与文档生成:Apipost 如何简化开发流程 GraphQL开发工具选型指南:Apipost高效调试与文档生成实战解析 GraphQL 凭借其灵活的数据查询能力和高效的接口设计,是现代 API 开发的主流选择。根据 State of JS 2022 的调研,GraphQL 在开发者中的采用率已超过 40%,尤其…

大数据在项目管理中的应用:5个预测分析模型+工具

随着信息技术的飞速发展,大数据在各个领域的应用日益广泛,项目管理也不例外。大数据的分析和应用为项目管理带来了新的机遇和挑战,通过预测分析模型和工具,项目管理者可以更好地规划、执行和监控项目,提高项目的成功率和效益。本文将介绍大数据在项目管理中的应用,重点探…

抖音爆火—可爱俏皮的软件卸载提示页面制作

前两天在抖音刷到了一个很可爱的软件卸载页面,鼠标滑动还会变脸,很萌很可爱,所以想着自己也做一个,花了一下午时间总算写了出来,总体效果还可以,哈哈抖音爆火—可爱俏皮的软件卸载提示页面制作前言 ​ 前两天在抖音刷到了一个很可爱的软件卸载页面,鼠标滑动还会变脸,很…

内部类--成员内部类、静态内部类、局部内部类--java进阶day03

1.内部类 内部类分为4种,成员内部类用处不大,静态内部类和局部内部类更是鸡肋,唯有匿名内部类是需要我们重点掌握的1.成员内部类Inter类要访问Outer类的成员可以直接访问,而Outer要访问Inter,就必须创建出Inter对象才可访问案例2.静态内部类3.局部内部类

逆向软件开发--学生管理系统

本次实验目的:训练逆向软件设计与开发能力。 实验内容:找一个已有的项目,阅读分析,找出软件尚存的缺陷,改进其软件做二次开发,并将过程整理成博客。 来源:CSDN上的学生管理系统 链接: https://blog.csdn.net/weixin_74362817/article/details/142308755fromshare=blogd…