debian

Debian下Jenkins如何实现自动化

小樊
38
2025-04-28 05:45:12
栏目: 智能运维

在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

    • Ubuntu
      sudo apt update && sudo apt install -y openjdk-11-jdk
      
    • CentOS
      sudo yum install -y java-11-openjdk-devel
      
  3. 启动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
      
  4. 防火墙与端口开放

    • 开放8080(Jenkins管理界面)和50000(Agent通信端口):
      sudo ufw allow 8080/tcp
      sudo ufw allow 50000/tcp
      sudo ufw reload
      

初始化配置

  1. 解锁Jenkins:访问 http://<服务器IP>:8080,输入初始密码(可在/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。
    • 创建管理员用户,设置用户名、密码和邮箱。

构建CI/CD流水线

  1. 连接代码仓库(以GitHub为例):

    • 生成SSH密钥对:ssh-keygen -t rsa -b 4096 -f ~/.ssh/jenkins_github
    • 将公钥复制到GitHub的Deploy Keys。
    • 在Jenkins中配置凭据:进入Manage Jenkins -> Credentials -> System -> Global credentials,添加SSH私钥。
  2. 创建声明式流水线项目

    • 新建Pipeline任务,选择Pipeline script from SCM,配置Git仓库地址与凭据。

Jenkins Pipeline

Jenkins Pipeline是一种声明式流水线语法,可以在Jenkinsfile中定义整个流水线的所有内容。Pipeline支持两种语法:Declarative Pipeline和Scripted Pipeline。声明式Pipeline使用更简单、结构化的语法,适合阅读和理解。

通过以上步骤,你可以在Debian下实现Jenkins的自动化,包括环境搭建、初始化配置、构建流水线以及使用Jenkins Pipeline进行持续集成和持续部署。

0
看了该问题的人还看了