117.info
人生若只如初见

Debian上Jenkins的自动化构建

在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将自动触发构建,确保你的项目能够始终保持最新、可靠的状态。

未经允许不得转载 » 本文链接:https://www.117.info/ask/fef10AzsKAgFXAl0.html

推荐文章

  • ifconfig在Debian中的替代命令是什么

    在Debian中,ifconfig命令已经被废弃,取而代之的是ip命令。ip命令是一个更加强大和灵活的工具,用于配置和管理网络接口。
    要使用ip命令执行与ifconfig类似...

  • Debian ifconfig如何配置无线网络

    在Debian系统中,使用ifconfig命令主要进行有线网络的配置。对于无线网络,通常使用iwconfig和wpa_supplicant等工具进行配置。以下是配置无线网络的基本步骤:

  • 使用ifconfig监控Debian网络流量

    ifconfig 是一个用于配置和显示网络接口信息的命令行工具 打开终端(快捷键:Ctrl + Alt + T)。 输入以下命令以查看所有网络接口的详细信息: ifconfig -a 这将...

  • Debian ifconfig如何设置静态IP地址

    在Debian系统中,使用ifconfig命令来设置静态IP地址并不是一个推荐的做法,因为ifconfig命令只是用来配置和显示网络接口的参数,而这些设置在系统重启后不会被保...

  • Jenkins在Debian上的集群部署

    在Debian上部署Jenkins集群涉及多个步骤,包括安装Java环境、配置Jenkins源、安装Jenkins以及配置集群节点。以下是一个详细的指南:
    1. 安装Java环境
    ...

  • Debian上如何监控Jenkins状态

    在Debian上监控Jenkins状态可以通过多种方法实现,以下是一些常用的监控方式:
    Monitoring插件 使用JavaMelody:这是一个流行的监控插件,可以提供内存、CP...

  • Jenkins在Debian上的插件安装

    在Debian上安装Jenkins插件通常有两种主要方法:在线安装和离线安装。以下是详细的步骤:
    在线安装插件 打开Jenkins管理界面:通常是通过访问 http://your_...

  • 如何在Debian上备份Jenkins

    在Debian上备份Jenkins主要包括备份Jenkins的安装目录和Jenkins的数据目录。以下是一些常用的备份方法:
    使用Shell脚本备份Jenkins目录
    你可以编写一个...