使用docker搭建Jenkins

简介

enkins是一个开源的自动化服务器工具,最初是为软件开发领域设计的。它是一个基于Java的Web应用程序,用于管理和持续集成软件开发过程中的各种任务。

Jenkins的主要功能是帮助开发团队自动化构建、测试和部署软件项目。它可以集成各种版本控制系统,如Git、Subversion等,并支持多种构建工具和测试框架。

使用Jenkins,开发团队可以设置自动构建任务,从代码仓库中拉取最新代码,编译并构建应用程序,运行各种自动化测试,生成测试报告,并在构建成功后自动部署到目标服务器。这样可以大大减少手动操作,提高开发效率和软件质量。

安装

创建docker-compose.yml文件

bash 复制代码
sudo vim docker-compose.yml
version: '3'
services:
  jenkins:
    image: jenkins/jenkins:lts
    container_name: jenkins
    ports:
      - "8080:8080"
      - "50000:50000"
    volumes:
      - jenkins_home:/var/jenkins_home
      - jenkins_logs:/var/log/jenkins
    environment:
      - JAVA_OPTS=-Djenkins.install.runSetupWizard=false
      - JENKINS_OPTS=--prefix=/jenkins
    logging:
      driver: "json-file"
      options:
        max-size: "10m"   # 设置最大日志文件大小为10兆
        max-file: "5"      # 保留最多5个旧日志文件
    networks:
      - jenkins-net

volumes:
  jenkins_home:
  jenkins_logs:

networks:
  jenkins-net:

image: jenkins/jenkins:lts: 使用 Jenkins 官方的 Long-Term Support (LTS) 版本的 Docker 镜像。

container_name: jenkins: 为容器指定一个名称,以便在运行时引用容器。

ports: 映射容器内的端口到宿主机。

volumes: 定义容器的数据卷,分别用于持久化 Jenkins 数据和日志。

environment: 设置容器的环境变量,禁用 Jenkins 的安装向导并配置路径前缀。

logging: 配置容器的日志设置,使用 json-file 驱动,限制每个日志文件大小为10兆,最多保留5个旧日志文件。

networks: 定义容器所使用的 Docker 网络。

这个配置文件中,Jenkins 日志将被限制在每个文件最大10兆,保留最多5个旧日志文件,以确保日志文件大小受到控制。
在存储yml文件的目录运行容器

bash 复制代码
sudo docker-compose up -d

首次运行时,可以使用以下命令获取初始化密码:

bash 复制代码
sudo docker exec -it jenkins cat /var/jenkins_home/secrets/initialAdminPassword

然后,访问 http://localhost:8080/jenkins(或你设置的路径前缀),输入初始化密码进行初始化设置。完成设置后,你将能够使用 Jenkins 进行 CI/CD 等任务。

相关推荐
做个文艺程序员1 小时前
第04篇:K8s 弹性伸缩实战:HPA、VPA、KEDA——Java SaaS 应对流量洪峰的秘密武器
java·容器·kubernetes·弹性伸缩·自动扩容·ai 推理伸缩
gsls2008087 小时前
JVM 堆内存参数 & Docker 容器适配,一次讲清楚
jvm·docker·容器
Lumbrologist8 小时前
【零基础部署】Docker 部署 AutoGen 多 Agent 对话框架保姆级教程
运维·docker·容器
做个文艺程序员10 小时前
第02篇:K8s 存储与配置管理:ConfigMap、Secret、PV/PVC 实战——Java SaaS 多租户配置最佳实践
java·容器·kubernetes
Plastic garden11 小时前
Docker compose ruoyi示例
运维·docker·容器
qq_4523962311 小时前
第十四篇:《Docker Swarm 生产实践:堆栈部署与配置管理》
运维·docker·容器
qq_4523962312 小时前
第十三篇:《Docker Swarm 集群基础》
运维·docker·容器
取经蜗牛13 小时前
docker环境中redis连接三种场景配置指南,物理机、wsl、docker
redis·docker·容器
尼莫点nemo14 小时前
docker-builder:把 .devcontainer/ 从手写变成一句话生成
docker
zandy101114 小时前
Hermes Agent 2026年6月最新安装教程
docker·github·agent