温馨提示×

如何在 Debian 上搭建 Jenkins 集群

小樊
57
2025-06-07 14:59:50
栏目: 智能运维

在 Debian 上搭建 Jenkins 集群可以通过多种方式实现,其中一种常见的方法是使用 Docker 和 Docker Compose。以下是一个基本的步骤指南:

前提条件

  1. Debian 系统:确保你已经安装了 Debian 操作系统。
  2. Docker 和 Docker Compose:安装 Docker 和 Docker Compose。

安装 Docker 和 Docker Compose

  1. 更新包列表

    sudo apt update
    
  2. 安装必要的包

    sudo apt install apt-transport-https ca-certificates curl software-properties-common
    
  3. 添加 Docker 的官方 GPG 密钥

    curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
    
  4. 添加 Docker 的 APT 仓库

    sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"
    
  5. 更新包列表

    sudo apt update
    
  6. 安装 Docker CE

    sudo apt install docker-ce
    
  7. 安装 Docker Compose

    sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
    sudo chmod +x /usr/local/bin/docker-compose
    

配置 Jenkins 集群

  1. 创建 Jenkins 配置文件

    创建一个 docker-compose.yml 文件来定义 Jenkins 集群的配置。

    version: '3.8'
    
    services:
      jenkins_master:
        image: jenkins/jenkins:lts
        container_name: jenkins_master
        ports:
          - "8080:8080"
          - "50000:50000"
        volumes:
          - jenkins_master_data:/var/jenkins_home
          - ./jenkins_master/config.sh:/usr/local/bin/config.sh
    
      jenkins_slave:
        image: jenkins/jenkins:lts
        container_name: jenkins_slave
        environment:
          - JENKINS_URL=http://jenkins_master:8080
        volumes:
          - jenkins_slave_data:/var/jenkins_home
        command: agent -jnlpUrl http://jenkins_master:8080/computer/slave-agent.jnlp -secret 12345678 -workDir /var/jenkins_home
        depends_on:
          - jenkins_master
    
    volumes:
      jenkins_master_data:
      jenkins_slave_data:
    
  2. 配置 Jenkins Master

    创建一个 config.sh 文件来配置 Jenkins Master。

    #!/bin/bash
    
    # 配置 Jenkins Master
    cat <<EOF >> /usr/local/bin/config.sh
    #!/bin/bash
    
    # 启动 Jenkins Master
    /usr/local/bin/jenkins.sh start
    EOF
    
  3. 启动 Jenkins 集群

    在包含 docker-compose.yml 文件的目录中运行以下命令来启动 Jenkins 集群。

    docker-compose up -d
    

验证 Jenkins 集群

  1. 访问 Jenkins Master

    打开浏览器并访问 http://<your_debian_ip>:8080,你应该能够看到 Jenkins 的安装页面。

  2. 配置 Jenkins Slave

    在 Jenkins Master 页面中,导航到 Manage Jenkins -> Manage Nodes and Clouds -> New Node,然后按照向导添加一个新的 Jenkins Slave。

    • 节点名称:输入一个名称,例如 jenkins_slave
    • 远程工作目录:输入 /var/jenkins_home
    • 启动方法:选择 Launch agent via Java Web Start
    • JNLP URL:输入 http://jenkins_master:8080/computer/slave-agent.jnlp
    • 安全设置:选择 Use secret text 并输入 12345678
  3. 保存并启动 Slave

    保存配置并启动 Slave 节点。Slave 节点将会连接到 Jenkins Master 并开始工作。

通过以上步骤,你就可以在 Debian 上成功搭建一个 Jenkins 集群。你可以根据需要添加更多的 Slave 节点,并根据实际需求进行进一步的配置和优化。

0