docker compose部署jenkins过程详解
作者:自在1990
Jenkins是开源CI/CD工具,支持自动化构建、测试、部署,具备插件扩展、分布式构建、多版本控制等特性,适用于持续集成、持续交付及自动化测试,显著提升开发效率与软件质量,适合各类项目规模使用
简介
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
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。