首页主机资讯如何在Debian上配置Jenkins持续集成

如何在Debian上配置Jenkins持续集成

时间2025-12-15 15:24:05发布访客分类主机资讯浏览293
导读:在 Debian 上配置 Jenkins 持续集成 一 环境准备与安装 安装 Java(推荐 OpenJDK 11 或 OpenJDK 17): sudo apt update && sudo apt install -...

在 Debian 上配置 Jenkins 持续集成

一 环境准备与安装

  • 安装 Java(推荐 OpenJDK 11OpenJDK 17):
    • sudo apt update & & sudo apt install -y openjdk-11-jdk
    • 验证:java -version
  • 添加 Jenkins 官方 APT 仓库(使用签名密钥环方式,更现代且安全):
    • curl -fsSL https://pkg.jenkins.io/debian-stable/jenkins.io-2023.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
  • 安装并启动 Jenkins:
    • sudo apt update & & sudo apt install -y jenkins
    • sudo systemctl enable --now jenkins
    • 检查状态:sudo systemctl status jenkins(应为 active (running)
  • 防火墙放行端口(如使用 UFW):
    • sudo ufw allow 8080/tcp
    • 如使用代理或分布式构建,放行 50000/tcp
  • 说明:Jenkins 2.357+ 版本建议使用 Java 11+;如计划使用容器/代理功能,请一并放行 50000/tcp

二 初始化与安全加固

  • 完成 Web 初始化向导:
    • 访问:http://< 服务器IP或域名> :8080
    • 解锁:sudo cat /var/lib/jenkins/secrets/initialAdminPassword
    • 选择“安装推荐插件”,创建管理员账户,确认 Jenkins URL
  • 安全与权限:
    • 进入 Manage Jenkins → Configure Global Security:启用安全、选择登录用户授权策略(如“Logged-in users can do anything”),禁用匿名访问
    • 使用 Credentials 管理 SSH 私钥、用户名/密码、令牌等敏感信息
    • 插件与更新:仅安装必要插件;定期更新 Jenkins 与插件;可更换插件更新站点为国内镜像(如清华源)提升速度
  • 配置文件与目录要点:
    • 主目录:/var/lib/jenkins(包含 jobs、plugins、workspace 等)
    • 启动参数:/etc/default/jenkins(如 JENKINS_HOME、JVM 参数、端口等)

三 创建第一个 CI 流水线

  • 准备代码与凭据:
    • 在代码仓库配置 Deploy Keys(SSH)或 Personal Access Token(HTTPS)
    • 在 Jenkins 的 Manage Jenkins → Credentials → System → Global credentials 添加对应凭据(如 SSH 私钥或用户名+令牌)
  • 方式一 Freestyle 任务(适合入门):
    • 新建任务 → 选择 Freestyle project
    • 源码管理:选择 Git,填写仓库 URL,选择上一步的凭据
    • 构建触发器:如 Poll SCM(例如 H/5 * * * * 表示每 5 分钟检查一次)
    • 构建步骤:根据项目类型执行命令(如 mvn clean package、npm install、./gradlew build)
    • 构建后操作:归档产物、发布 JUnit 报告、发送通知等
  • 方式二 Pipeline(推荐,基于 Jenkinsfile):
    • 新建任务 → 选择 Pipeline
    • 定义方式:选择 Pipeline script from SCM,指定仓库与分支,Jenkins 会自动读取 Jenkinsfile
    • 示例 Jenkinsfile(可按需裁剪):
      pipeline {
      
        agent any
        tools {
       jdk 'openjdk-11' }
       // 需在“全局工具配置”中预先配置 JDK
        stages {
      
          stage('Checkout') {
      
            steps {
       git url: 'git@github.com:your-org/your-repo.git', branch: 'main' }
      
          }
      
          stage('Build') {
      
            steps {
       sh 'mvn -B -DskipTests clean package' }
      
          }
      
          stage('Test') {
      
            steps {
       sh 'mvn test' }
      
            post {
       always {
       junit '**/target/surefire-reports/*.xml' }
       }
      
          }
      
          stage('Deploy') {
      
            when {
       branch 'main' }
      
            steps {
       sh './deploy.sh' }
      
          }
      
        }
      
      }
          
      
    • 说明:常用插件包括 GitPipelineMaven IntegrationJUnit 等。

四 常见问题与优化

  • 权限问题(Permission denied):
    • 构建或部署目标路径对 jenkins 用户不可写时,调整属主/权限:
      • sudo chown -R jenkins:jenkins /path/to/project
      • 或 sudo chmod -R 775 /path/to/project
    • 如需操作 Docker,可将 jenkins 加入 docker 组(谨慎评估安全影响):sudo usermod -aG docker jenkins
  • Java 版本与 JAVA_HOME:
    • 多版本并存时使用 update-alternatives 切换默认 java,并在 Jenkins 的 全局工具配置 指定 JAVA_HOME
  • 构建性能与扩展:
    • 调整 执行器数量(Executors)JVM 参数(在 /etc/default/jenkins 的 JAVA_OPTS)
    • 采用 分布式构建(Master-Agent)提升并行度与资源隔离
  • 备份与恢复:
    • 定期备份 /var/lib/jenkins(配置、任务、插件、工作空间),可使用脚本或插件实现自动化备份
  • 可选 使用 Docker 运行 Jenkins(便于迁移与隔离):
    • docker run -d -p 8080:8080 -p 50000:50000
      -v jenkins-data:/var/jenkins_home
      -v /var/run/docker.sock:/var/run/docker.sock
      jenkins/jenkins:lts

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: 如何在Debian上配置Jenkins持续集成
本文地址: https://pptw.com/jishu/771717.html
如何配置Debian上的Jenkins插件 Debian系统如何管理Jenkins用户权限

游客 回复需填写必要信息