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

相关推荐
爱上猫de鱼1 天前
linux环境docker部署前后端应用
linux·运维·docker
小王努力学编程1 天前
LangChain—AI应用开发框架(认识模型)
linux·服务器·人工智能·机器学习·容器·langchain
南宫乘风1 天前
Kubernetes 中 ConfigMap 和 Secret 热更新:Reloader 实战指南
容器·kubernetes·configmap
辰尘_星启1 天前
解决幽灵容器
linux·docker·容器·机器人·嵌入式
破无差1 天前
docker配置报错解决过程dify
docker
培根芝士1 天前
基于Docker部署M3U8流媒体
docker·容器
卜锦元1 天前
Docker Compose 部署 MySQL 8.4 LTS(生产级实践方案)
数据库·mysql·docker·容器
独断万古他化1 天前
Docker 入门前置:容器虚拟化基础之 cgroups 资源控制与 LXC 容器
linux·docker·容器
Smile_微笑1 天前
恢复 MySQL 服务(Docker 环境专用)
mysql·adb·docker
卜锦元1 天前
Docker Compose 部署 MySQL 5.7(生产级实践方案)
数据库·mysql·adb·docker