debian

Debian Jenkins如何容器化部署

小樊
39
2025-10-12 14:15:12
栏目: 智能运维

Debian系统下Jenkins容器化部署指南

一、前提条件

确保Debian系统已安装Docker(推荐使用Docker CE版本),并启动Docker服务。若未安装,可通过以下命令完成:

sudo apt update
sudo apt install -y docker.io
sudo systemctl start docker
sudo systemctl enable docker  # 设置开机自启

验证Docker是否正常运行:

sudo docker run hello-world

二、拉取Jenkins镜像

从Docker Hub拉取官方Jenkins LTS(长期支持)镜像(生产环境推荐,稳定性高):

sudo docker pull jenkins/jenkins:lts

三、运行Jenkins容器

使用docker run命令启动Jenkins容器,关键参数说明:

完整命令:

sudo docker run -d \
  --name jenkins \
  -p 8080:8080 \
  -p 50000:50000 \
  -v jenkins_home:/var/jenkins_home \
  -v /var/run/docker.sock:/var/run/docker.sock \
  jenkins/jenkins:lts

四、访问Jenkins并完成初始化

  1. 获取初始管理员密码
    容器启动后,通过以下命令获取Jenkins初始密码(用于解锁界面):

    sudo docker exec jenkins cat /var/jenkins_home/secrets/initialAdminPassword
    

    输出结果类似123456abcdef...,复制该密码。

  2. 解锁Jenkins
    打开浏览器,访问http://<Debian服务器IP>:8080,进入Jenkins初始化页面。在“Unlock Jenkins”输入框中粘贴上述密码,点击“Continue”。

  3. 安装推荐插件
    选择“Install suggested plugins”(安装官方推荐的常用插件,如Git、Pipeline、Docker等),等待插件安装完成。

  4. 创建管理员用户
    在“Create First Admin User”页面,填写用户名、密码、邮箱等信息,点击“Save and Finish”。

  5. 完成设置
    最后进入Jenkins主界面,点击“Start using Jenkins”即可开始使用。

五、可选优化:使用Docker Compose管理

若需要更规范的配置(如多容器编排),可使用docker-compose.yml文件管理Jenkins部署。创建docker-compose.yml文件:

version: '3.8'
services:
  jenkins:
    image: jenkins/jenkins:lts
    container_name: jenkins
    ports:
      - "8080:8080"
      - "50000:50000"
    volumes:
      - jenkins_home:/var/jenkins_home
      - /var/run/docker.sock:/var/run/docker.sock
    environment:
      - JAVA_OPTS=-Djenkins.install.runSetupWizard=true  # 强制显示初始化向导
volumes:
  jenkins_home:

启动服务:

docker-compose up -d

停止服务:

docker-compose down

注意事项

  1. 数据持久化:务必通过-v参数挂载jenkins_home卷,否则容器删除后所有Jenkins配置、构建记录会丢失;
  2. 权限问题:挂载的宿主机目录(如/jenkins/data)需提前创建,并赋予权限chown -R 1000:1000 /jenkins/data(Jenkins容器内用户jenkins的UID为1000);
  3. Docker权限:若挂载docker.sock,需确保Jenkins容器内的jenkins用户有权限访问宿主机Docker服务(默认通过-v /var/run/docker.sock:/var/run/docker.sock实现);
  4. 镜像选择:生产环境优先使用lts版本(长期支持,bug修复及时),避免使用latest版本(可能不稳定)。

0
看了该问题的人还看了