温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

怎样用Jenkins做持续集成

发布时间:2026-09-25 14:13:28 来源:亿速云 阅读:91 作者:小樊 栏目:系统运维

下面我按**“概念 → 搭建流程 → 典型 CI 流程 → 示例 → 最佳实践”的顺序,讲清楚如何用 Jenkins 做持续集成(CI)**。


一、什么是 Jenkins 持续集成

持续集成(CI):开发人员频繁地把代码合并到主干,并自动进行构建、测试、检查,尽早发现错误。

Jenkins 的作用:

  • 监听代码仓库(Git / SVN)
  • 自动触发构建
  • 执行测试、代码检查
  • 生成报告、通知结果

二、Jenkins CI 基本架构

开发者 push 代码
      ↓
Git / SVN
      ↓
Jenkins(触发 Job)
      ↓
构建 + 测试 + 静态检查
      ↓
结果通知(邮件 / 钉钉 / 企业微信)

三、Jenkins 环境准备

1. 安装 Jenkins

常见方式:

  • Docker(推荐)
docker run -d -p 8080:8080 -p 50000:50000 jenkins/jenkins:lts
apt install jenkins

访问:

http://localhost:8080

2. 安装必要插件

在 Manage Jenkins → Plugins 中安装:

  • Git
  • Pipeline
  • GitHub / GitLab
  • Maven / Gradle / NodeJS(按语言)
  • Email Extension
  • DingTalk / 企业微信(通知)

四、创建第一个 CI Job(以 Java 为例)

方式一:Freestyle Job(简单)

  1. 新建 Job → Freestyle project
  2. 源码管理:
    • Git
    • Repository URL
  3. 构建触发器:
    • Poll SCM(定时)
    • 或 Webhook(推荐)
  4. 构建步骤:
mvn clean package
  1. 构建后操作:
    • 邮件通知
    • 归档 jar 包

方式二:Pipeline(推荐 ✅)

示例:Jenkinsfile

pipeline {
    agent any

    stages {
        stage('Checkout') {
            steps {
                git 'https://github.com/your/repo.git'
            }
        }

        stage('Build') {
            steps {
                sh 'mvn clean package'
            }
        }

        stage('Test') {
            steps {
                sh 'mvn test'
            }
        }
    }

    post {
        success {
            echo 'CI 成功'
        }
        failure {
            echo 'CI 失败'
        }
    }
}

把 Jenkinsfile 放在项目根目录,Jenkins 自动读取。


五、代码提交自动触发 CI(Webhook)

GitLab / GitHub

  1. Jenkins 安装 GitLab Plugin
  2. Job 中:
    • 勾选 Build when a change is pushed
  3. Git 仓库配置 Webhook:
http://jenkins-url/gitlab-hook/

效果:

开发者 push → Jenkins 自动构建


六、典型 CI 流程示例(推荐)

代码提交
 ↓
代码静态检查(SonarQube)
 ↓
单元测试
 ↓
打包
 ↓
构建结果通知

示例 Pipeline:

stage('SonarQube') {
    steps {
        sh 'mvn sonar:sonar'
    }
}

七、通知方式

邮件

post {
    failure {
        mail to: 'dev@example.com',
             subject: 'CI 失败',
             body: '请检查 Jenkins'
    }
}

钉钉 / 企业微信

  • 安装对应插件
  • Job 中配置 Webhook

八、Jenkins CI 最佳实践

✅ 每次提交都触发 CI
✅ 构建要快(< 10 分钟)
✅ 测试失败禁止合并
✅ 使用 Pipeline 而非 Freestyle
✅ 构建环境容器化(Docker)
✅ 日志清晰、失败可定位


九、常见坑

❌ 构建依赖写死在 Jenkins 机器
❌ 没有测试就号称 CI
❌ 手动触发构建
❌ 构建时间太长


如果你愿意,我可以:

  • 给你一个 前端 / Python / Go 的 Jenkins CI 示例
  • 教你 Jenkins + Docker + K8s
  • 帮你写 完整 Jenkinsfile

你现在是用的什么语言/项目?

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI
助
手