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

如何在Debian上搭建Jenkins持续集成

时间2025-11-25 10:18:03发布访客分类主机资讯浏览347
导读:在 Debian 上搭建 Jenkins 持续集成 一 环境准备与安装 更新系统并安装 OpenJDK 11(Jenkins 常用稳定版本): 命令:sudo apt update && sudo apt install...

在 Debian 上搭建 Jenkins 持续集成

一 环境准备与安装

  • 更新系统并安装 OpenJDK 11(Jenkins 常用稳定版本):
    • 命令:sudo apt update & & sudo apt install -y openjdk-11-jdk
    • 验证:java -version
  • 安装 Jenkins(APT 方式):
    • 导入密钥并添加官方仓库(新版推荐 keyring 方式):
      • 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 > /devref
    • 安装与启动:
      • sudo apt update & & sudo apt install -y jenkins
      • sudo systemctl enable --now jenkins
      • 检查状态:sudo systemctl status jenkins
  • 访问控制台:浏览器打开 http://< 服务器IP> :8080

二 初始化与安全配置

  • 解锁 Jenkins:
    • 查看初始管理员密码:sudo cat /var/lib/jenkins/secrets/initialAdminPassword
    • 在向导中输入密码,完成初始化。
  • 插件与账户:
    • 选择 Install suggested plugins 安装常用插件,或后续在 Manage Jenkins > Manage Plugins 安装所需插件。
    • 创建管理员账户,完成安全配置。
  • 防火墙放行:
    • UFW:sudo ufw allow 8080
    • firewalld:sudo firewall-cmd --permanent --add-port=8080/tcp & & sudo firewall-cmd --reload
  • 可选优化:
    • Manage Jenkins > Plugin Manager > Advanced 将更新站点替换为国内镜像(如清华源)以加速插件下载。

三 创建第一个 CI 任务

  • Freestyle 项目(适合入门与简单构建):
    • 新建任务:New Item > Freestyle project
    • 源码管理:选择 Git,填写仓库 URL;如为私有仓库,在 Credentials 中添加 SSH 密钥 或用户名/密码。
    • 构建触发器:可配置 Poll SCM(如 H/5 * * * * 每 5 分钟检查一次变更)。
    • 构建步骤:
      • Maven 项目执行:mvn clean package
      • 通用脚本:sh 'make test'
    • 构建后操作:归档产物(如 **/target/*.jar)、发布测试报告、发送通知等。
  • Pipeline 项目(推荐,配置即代码):
    • 新建任务:New Item > Pipeline
    • 定义方式:选择 Pipeline script from SCM,SCM 选 Git,指定仓库与凭据,设置 Jenkinsfile 路径(通常为仓库根目录)。
    • 示例 Jenkinsfile(Maven 项目):
      pipeline {
      
        agent any
        stages {
      
          stage('Checkout') {
      
            steps {
       git branch: 'main', url: 'git@github.com:your-org/your-repo.git' }
      
          }
      
          stage('Build') {
      
            steps {
       sh 'mvn -B -DskipTests clean package' }
      
          }
      
          stage('Test') {
      
            steps {
       sh 'mvn test' }
      
          }
      
          stage('Archive') {
      
            steps {
       archiveArtifacts artifacts: '**/target/*.jar', fingerprint: true }
      
          }
      
        }
      
      }
          
      
    • Jenkinsfile 提交到代码仓库,提交变更后会自动触发构建(如已配置 Webhook/轮询)。

四 安全与运维最佳实践

  • 凭据与权限:
    • 使用 SSH 密钥用户名/密码 管理代码仓库凭据;在 Manage Jenkins > Credentials 集中管理。
    • 禁用匿名访问,采用 Role-Based Strategy 等插件进行细粒度授权。
  • 触发与集成:
    • 使用 Webhook 实现代码推送即构建;或保留 Poll SCM 作为备选。
  • 分布式构建:
    • 通过 Jenkins Agent 扩展构建能力,Master 负责调度,Agent 执行任务,提高并行度与资源隔离。
  • 监控与维护:
    • 定期更新 Jenkins 与插件 获取安全修复与性能改进。
    • 使用监控插件观察节点资源、队列与构建时长;定期备份 JENKINS_HOME(如 /var/lib/jenkins)。

五 常见问题排查

  • 端口与连通性:
    • 确认服务监听:sudo ss -tlnp | grep 8080
    • 云服务器需放行安全组与系统防火墙的 8080 端口。
  • Java 与路径:
    • 多版本管理:sudo update-alternatives --config java
    • 设置 JAVA_HOME(示例):编辑 /etc/environment 添加 JAVA_HOME="/usr/lib/jvm/java-11-openjdk-amd64",执行 source /etc/environment 后验证 echo $JAVA_HOME
  • 权限问题:
    • Jenkins 默认以 jenkins 用户运行,确保工作空间与工具链目录对该用户可读写(如 /var/lib/jenkins、Maven 本地仓库 ~/.m2)。
  • 插件安装慢:
    • 在插件管理器中更换为国内镜像源以加速下载。

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


若转载请注明出处: 如何在Debian上搭建Jenkins持续集成
本文地址: https://pptw.com/jishu/755312.html
Jenkins在Debian上的插件管理与更新 Debian系统下Jenkins的安全策略

游客 回复需填写必要信息