简介
Jenkins 是一个开源的自动化服务器,广泛用于持续集成(CI)和持续交付(CD)过程。它能够帮助开发团队自动化构建、测试和部署软件,从而提高开发效率和软件质量。
核心特性
- 插件支持: Jenkins 拥有丰富的插件生态系统,用户可以根据需要安装不同的插件,扩展其功能以适应各种开发环境。
- 易于配置: 提供用户友好的 web 界面,方便用户创建和管理构建任务,配置简单直观。
- 分布式构建: 支持通过多台机器分布式执行构建任务,提高构建速度和效率。
- 支持多种版本控制系统: 兼容 Git、Subversion、Mercurial 等多个版本控制系统,便于与现有开发流程集成。
- 灵活的构建触发器: 可以根据代码提交、定时计划或手动触发等方式启动构建,满足不同场景需求。
- 持续反馈: 在构建和测试过程中提供实时反馈,帮助开发者及时发现问题。
使用场景
- 持续集成: 在每次代码提交后自动构建和测试,确保代码的稳定性和可用性。
- 持续交付: 自动化软件的发布过程,将新版本快速交付到生产环境。
- 自动化测试: 集成各种测试框架,自动执行单元测试、集成测试等,提升软件质量。
总结
Jenkins 是一个强大的工具,能够显著提高软件开发过程的效率和质量。通过自动化构建、测试和部署,团队能够更快地交付高质量的软件产品。无论是小型项目还是大型企业应用,Jenkins 都能为持续集成和持续交付提供坚实的支持。
部署
version: '3.8'
services:
jenkins:
image: jenkins/jenkins:2.478-jdk17 # 镜像版本
container_name: jenkins # 容器名称
restart: always # 自动重启
user: root
environment:
- TZ=Asia/Shanghai # 设置时区
ports:
- "8080:8080" # 端口映射
volumes:
- ./jenkins/data:/var/jenkins_home # 数据持久化
deploy:
resources:
limits:
cpus: "1" # 限制 CPU 核心数
memory: "2G" # 限制内存大小
启动
docker compose up -d
# 访问
curl http://127.0.0.1:8080
配置
查看日志,获取32位字符串(类似):a371e758bc1f44f4960a5f53358f1070
浏览器访问jenkins,配置时,需要该字符串
# 查看日志
docker logs jenkins