debian

Debian上Jenkins的自动化构建

小樊
88
2025-02-18 04:24:41
栏目: 智能运维

在Debian上设置Jenkins以实现自动化构建涉及几个关键步骤。以下是一个详细的指南,帮助你完成整个过程:

环境准备

  1. 硬件与操作系统选择

    • 推荐配置
      • 生产环境:8核CPU / 16GB内存 / 100GB SSD存储(建议多节点部署,分离Master与Agent)
      • 测试环境:4核CPU / 8GB内存 / 50GB SSD存储
    • 操作系统:优先选择Ubuntu 22.04 LTS,CentOS Stream 9也可支持,但需注意FirewallD与SELinux配置。
  2. 安装依赖与Jenkins

    • 安装Java环境
      # Ubuntu
      sudo apt update && sudo apt install -y openjdk-11-jdk
      # CentOS
      sudo yum install -y java-11-openjdk-devel
      
    • 通过官方仓库安装Jenkins
      # Ubuntu
      sudo wget -O /usr/share/keyrings/jenkins-keyring.asc https://pkg.jenkins.io/debian-stable/jenkins.io.key
      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
      sudo apt update && sudo apt install -y jenkins
      # CentOS
      sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
      sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
      sudo yum install -y jenkins
      
    • 启动Jenkins服务
      sudo systemctl enable jenkins
      sudo systemctl start jenkins
      sudo systemctl status jenkins  # 确认状态为Active
      
    • 防火墙与端口开放
      sudo ufw allow 8080/tcp
      sudo ufw allow 50000/tcp
      sudo ufw reload
      

初始化配置

  1. 解锁Jenkins:访问 http://<服务器IP>:8080,输入初始密码:sudo cat /var/lib/jenkins/secrets/initialAdminPassword
  2. 加速插件安装:更换国内镜像源,进入 Manage Jenkins -> Plugin Manager -> Advanced,替换 Update Site URL 为:https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json,安装必备插件:Pipeline、GitHub Integration、Docker、Kubernetes CLI、Credentials Binding。
  3. 权限安全配置:禁用匿名访问,进入 Manage Jenkins -> Security -> Enable security,选择 Logged-in users can do anything,创建管理员用户,设置用户名、密码和邮箱,避免使用默认账号“admin”。

构建流水线

  1. 连接代码仓库(以GitHub为例)
    • 生成SSH密钥对:
      ssh-keygen -t rsa -b 4096 -f ~/.ssh/jenkins_github
      cat ~/.ssh/jenkins_github.pub
      # 复制公钥到GitHub的Deploy Keys
      
    • 在Jenkins中配置凭据:进入 Manage Jenkins -> Credentials -> System -> Global credentials,添加SSH私钥(类型:SSH Username with private key),ID命名为 github-ssh。
  2. 创建声明式流水线项目
    • 新建Pipeline任务,任务名:demo-pipeline。
    • 选择 Pipeline script from SCM,配置Git仓库地址与凭据。

自动化构建配置

  1. 安装必要的插件:在Jenkins控制台中,导航到“Manage Jenkins” - “Manage Plugins”,安装Build with Parameter、git插件、gitlab插件、ssh插件、Maven Integration插件等。
  2. 配置构建触发器:在任务配置中,选择适当的构建触发器,常见的是选择“GitHub hook trigger for GITScm polling”,以便在GitHub上代码提交时触发构建。
  3. GitHub Webhook设置:在GitHub仓库中,导航到 Settings - Webhooks,点击Add webhook,输入Jenkins的webhook URL(Jenkins服务器地址 /github-webhook/),选择适当的事件(常见的是选择Just the push event),确保启用webhook。

通过以上步骤,你就可以在Debian上成功设置Jenkins以实现自动化构建。每次在GitHub上提交代码时,Jenkins将自动触发构建,确保你的项目能够始终保持最新、可靠的状态。

0
看了该问题的人还看了