Jenkins CI 是业界最受欢迎的构建持续集成和持续交付(CI/CD)管道的开源工具。
任何想要为团队做出有意义贡献的 DevOps 专业人员都需要了解这个强大的软件部署自动化工具的基础知识。这正是本 Jenkins 教程和速成课程的目的。
Jenkins 速成课程十大主题
Jenkins 是一款全面而全面的 DevOps 工具。Jenkins 可以与多种 SaaS 产品、软件和技术集成。
本 Jenkins 课程涵盖的十个最重要的主题包括:
- 安装 Jenkins 以及适当的 JDK 版本。
- 创建独立和集成的 Jenkins 构建作业。
- 创建基本和复杂的 Jenkins 管道。
- 配置构建参数并访问环境变量。
- 安装 Jenkins 插件以访问第三方功能。
- 在构建作业期间执行静态代码分析
- 与 GitHub、Maven、Gradle、Git 和其他工具集成。
- 排查失败的 Jenkins 构建作业
- 使用 Jenkins 创建 Docker 镜像。
- 将 Spring Boot 微服务完全部署到云中。
高级 Jenkins 教程
虽然本 Jenkins 初学者教程不会遗漏基本安装和复杂管道创建之间的任何步骤,但专家用户也会喜欢本 Jenkins 教程的高级方面,例如:
- 配置 Jenkins 凭证以针对外部工具和服务进行身份验证。
- 在 Jenkins 中构建云原生 Spring Boot 应用程序。
- 将微服务打包成可执行 JAR 文件。
- 从脚本管道调用标准构建作业。
- 了解何时在声明式管道中使用共享 Jenkins 库。
如您所见,承诺是从头开始教授某人 Jenkins,完成课程后,学习者将很快熟练掌握这个强大的 CI/CD 和构建自动化工具。
Jenkins 下载和安装
要学习Jenkins,首先必须安装Jenkins。
Jenkins 的唯一先决条件是安装 Java 11 或更新版本。建议安装 Java 17。
截至 2023 年 9 月,对Java 21的支持尚不可用,但很快就会提供。
Jenkins 安装程序
要在 Windows 上安装 Jenkins,您可以使用.msi安装程序或将其作为可执行 JAR 文件运行。
.msi安装的好处是它将 Jenkins 配置为在启动时运行的服务。
Jenkins 管道和构建作业
开发人员安装 Jenkins 后,下一步是运行基本的Hello World Jenkins 构建作业。自由式项目中的单个构建步骤就足够了。
本 Jenkins 教程还会在创建构建作业后立即构建一个 Hello World Jenkins 管道。
安装后,本 Jenkins 教程中的第一个任务是创建一个基本的 Jenkins 构建作业。
Jenkins 管道的重要性
许多教程推迟介绍基于 Groovy 或 Kotlin 的 Jenkins 管道,而是专注于用于创建标准构建作业的 GUI 工具。本 Jenkins 课程不会犯这个错误。
本教程对管道和构建作业给予同等对待。最后还介绍了 Jenkins 管道的高级功能。
Jenkins 环境变量和参数
开发人员创建 Jenkins 构建作业时常用的两个功能是:
- 詹金斯环境变量。
- 启动时参数化。
本 Jenkins 课程演示了这两个概念,首先创建一个参数化的构建作业,然后创建一个访问 Groovy 代码中的环境变量的管道。
这些练习加强了每天与 Jenkins 一起工作的 DevOps 工程师的重要技能。
如何在 Jenkins 管道中使用环境变量是每个 DevOps 工程师必须具备的重要技能。
Jenkins、GitHub、Maven 和 Gradle
在充分了解 Jenkins 的工作原理后,下一步就是将 Jenkins 与以下第三方工具集成:
- Git 和 GitHub 用于版本控制。
- Apache Maven 用于依赖管理。
- Gradle 用于构建和编译操作。
创建一个持续集成管道,访问 GitHub 存储库,使用 Maven 构建和编译代码,然后将成功保存的二进制文件打包成 JAR 文件,这体现了强大的 Jenkins 技能和知识。
Jenkins 插件
Jenkins 的流行很大程度上归功于其插件架构。任何供应商都可以制作 Jenkins 插件,并可从基于云的市场免费下载。
这意味着 DevOps 工程师可以使用执行重要操作任务的高级工具来补充简单的 Jenkins 构建作业。这些包括:
- 静态代码分析。
- 绩效管理。
- 渗透测试。
- 负载测试。
- 发送团队通知。
- 压力测试。
在 DevOps 领域,目标始终是向左移动并将操作任务嵌入到开发阶段。
对于许多参与 DevOps 转型的团队来说,在其构建中加入 Jenkins 插件是逐步向左转变的运营的第一步。
高级 Jenkins 管道
本课程以开发一个高度先进的 Jenkins 流水线结束,该流水线执行以下功能:
- 从 GitHub 拉取 Spring Boot 微服务。
- 编译并测试应用程序的操作。
- 将微服务打包成可执行 JAR 文件。
- 构建 Docker 映像以供部署。
- 使用凭证通过 https 进行身份验证。
- 通过DockerHub将微服务部署到云端。
完整的 Jenkins 课程
从头到尾,本 Jenkins 初学者教程将快速将新手变成专家。
持续集成和部署从未如此简单。