温馨提示×

Debian下如何配置Jenkins

小樊
40
2025-12-26 17:08:08
栏目: 智能运维

在 Debian 上配置 Jenkins 的完整步骤

一 环境准备与安装

  • 安装 Java(推荐 OpenJDK 11):
    • 执行:sudo apt update && sudo apt install -y openjdk-11-jdk
    • 验证:java -version
  • 导入 Jenkins 仓库密钥与源(使用 APT 密钥环方式,适配较新 Debian/Ubuntu):
    • 执行:
      curl -fsSL https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo tee \
        /usr/share/keyrings/jenkins-keyring.asc > /dev/null
      echo deb [signed-by=/usr/share/keyrings/jenkins-keyring.asc] \
        https://pkg.jenkins.io/debian-stable binary/ | sudo tee \
        /etc/apt/sources.list.d/jenkins.list > /dev/null
      sudo apt update
      sudo apt install -y jenkins
      
  • 启动与开机自启:
    • 执行:sudo systemctl enable --now jenkins
    • 检查状态:sudo systemctl status jenkins
  • 访问与解锁:
    • 浏览器访问:http://服务器IP:8080
    • 初始管理员密码:sudo cat /var/lib/jenkins/secrets/initialAdminPassword
    • 按向导完成安装(可选择安装推荐插件或自定义)。

二 基础安全与系统配置

  • 全局安全与认证:
    • 进入 Manage Jenkins → Security,启用安全;常见方式为 基于角色的访问控制(Role-based Authorization Strategy) 或对接 LDAP
  • 全局工具与系统设置:
    • 进入 Manage Jenkins → Global Tool Configuration,配置 JDK、Git、Maven 等工具路径。
    • 进入 Manage Jenkins → System,设置 Jenkins URL、系统消息、时区(如 Asia/Shanghai) 等。
  • 主目录与执行者:
    • 主目录默认 /var/lib/jenkins;建议将主节点用于编排,构建任务交给代理/从节点,主节点 Executors 设为 0 可提升稳定性与安全性。
  • 配置即代码 JCasC(推荐用于标准化与自动化):
    • 安装 Configuration as Code 插件,使用 YAML 定义系统、安全、工具、凭证等,便于版本化管理与快速恢复。

三 创建第一个流水线任务

  • 新建任务:选择 Pipeline,命名后进入配置。
  • 定义流水线:
    • 方式一:在 UI 中直接编写 Pipeline script
    • 方式二:选择 Pipeline script from SCM,配置 Git 仓库与凭据,从代码库加载 Jenkinsfile
  • 示例 Jenkinsfile(可按需调整):
    pipeline {
      agent any
      stages {
        stage('拉取代码') {
          steps { git 'https://github.com/your-org/your-repo.git' }
        }
        stage('运行测试') {
          steps { sh 'python -m pytest tests/' }
        }
        stage('构建打包') {
          steps { sh 'python setup.py build' }
        }
        stage('部署') {
          steps { sh './deploy.sh' }
        }
      }
      post {
        always {
          echo "构建完成: ${currentBuild.fullDisplayName}"
        }
      }
    }
    
  • 保存后点击 立即扫描分支/SCM 轮询 或配置触发器运行构建。

四 网络与防火墙设置

  • 开放访问端口(示例为 UFW):
    • 执行:sudo ufw allow 8080/tcp
    • 如使用 JNLP 代理,放行 50000/tcpsudo ufw allow 50000/tcp
    • 重载:sudo ufw reload
  • 反向代理与域名(可选,使用 Nginx/Apache):
    • 将域名或路径反向代理到 http://127.0.0.1:8080,便于统一入口与 HTTPS 配置。

五 维护与排错要点

  • 查看日志与常见故障:
    • 服务日志:sudo journalctl -u jenkins -f
    • 系统日志:tail -f /var/log/syslog
    • 若启动失败并提示 Java 版本问题,使用 sudo update-alternatives --config java 切换至 Java 11
  • 备份与升级:
    • 备份 /var/lib/jenkins(配置与作业数据),升级前先停机并备份;升级后核对插件与任务状态。
  • 常用目录与文件:
    • 主目录:/var/lib/jenkins
    • 配置文件:/var/lib/jenkins/config.xml
    • 日志:/var/log/jenkins/jenkins.log
    • 服务环境:/etc/default/jenkins(可设置 JENKINS_JAVA_OPTIONS 等)。

0