使用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 等任务。

相关推荐
Patrick_Wilson20 小时前
从「改个端口」到 502:Next.js on k8s 的容器端口、Service 映射与 env 覆盖
docker·kubernetes·next.js
Suroy1 天前
DockerView-Go:用 Go 写一个终端 Docker 监控工具,顺便做了个 Web 仪表盘
docker
云恒要逆袭1 天前
运行你的第一个Docker容器
后端·docker·容器
宋均浩2 天前
# Docker 镜像瘦身实战:从 1.2G 到 80MB 的五个优化步骤
ci/cd·docker
程序员老赵3 天前
10 分钟部署 OpenCode:Docker 一键安装,浏览器打开就能用 AI 写代码(附完整命令与排错)
docker·容器·ai编程
WangMingHua1113 天前
LM Studio Docker 部署——本地大模型一键启动
docker
曲幽4 天前
别再用网页翻译看源码了!你的私人翻译神器LibreTranslate,部署避坑指南来了
python·docker·web·pot·translate·libretranslate·arogstranslate
武子康6 天前
调查研究-183 Apple container:Mac 上用轻量 VM 跑 Linux 容器,Swift 会改写本地容器体验吗?
docker·容器·apple
Alsn869 天前
等待学习-学习目录:Docker 容器安全攻防
学习·安全·docker
2601_961875249 天前
决战申论100题2026|最新|范文
linux·容器·centos·debian·ssh·fabric·vagrant