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

相关推荐
xiaok1 小时前
docker desktop拉取镜像失败
docker
Aisaka_Taiga2 小时前
Docker拉取官方镜像源
docker
玄辰星君3 小时前
【在 macOS 系统上使用 Docker 启动 Kafka 的完整指南】
macos·docker·kafka
孫治AllenSun4 小时前
【ElasticSearch】客户端选择
大数据·elasticsearch·jenkins
mCell11 小时前
Docker 进阶教程
运维·docker·容器
mCell11 小时前
Docker 入门教程
运维·docker·操作系统
深耕云原生13 小时前
Kubernetes 深入浅出系列 | 容器剖析之容器安全
安全·容器·kubernetes
2301_7736386317 小时前
Kubernetes部署MySQL主从复制
mysql·容器·kubernetes
kong@react1 天前
docker部署spring boot,安装jdk17、maven3.8.8详细步骤
java·spring boot·docker
hhzz1 天前
Kubernetes 的20 个核心命令分类详解
云原生·容器·kubernetes