117.info
人生若只如初见

Debian如何实现Jenkins自动化部署

在Debian系统上实现Jenkins自动化部署,可以按照以下步骤进行:

环境准备

  1. 硬件与操作系统选择

    • 生产环境推荐配置:8核CPU / 16GB内存 / 100GB SSD存储(建议多节点部署,分离Master与Agent)。
    • 测试环境推荐配置:4核CPU / 8GB内存 / 50GB SSD存储。
    • 操作系统:优先选择Ubuntu LTS(如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
      
  3. 防火墙与端口开放

    • 开放8080和50000端口(Agent通信端口):

      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,复制公钥到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仓库地址与凭据。

注意事项

  • 确保Jenkins插件是最新的,以避免兼容性问题。
  • 在生产环境中,建议使用Docker容器来部署Jenkins,以便于管理和扩展。
  • 定期检查和更新Jenkins及其插件,以确保安全性和稳定性。

以上步骤提供了一个基本的Jenkins自动化部署流程,具体配置可能会根据实际项目需求有所不同。

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

推荐文章

  • Debian如何打包Go语言项目

    在Debian系统上打包Go语言项目,可以遵循以下步骤: 安装Go编译器:
    如果你还没有安装Go编译器,请先安装它。在终端中运行以下命令来安装Go:
    sudo ap...

  • 如何在Debian上实现GitLab自动化

    在Debian上实现GitLab自动化可以通过多种方式实现,包括使用Ansible自动化部署GitLab、配置GitLab CI/CD流程以及结合Jenkins等工具实现自动化任务触发。以下是详...

  • Debian Context中如何进行数据备份与恢复

    在Debian系统中,数据备份与恢复是非常重要的,以确保系统崩溃或数据丢失时能够恢复重要信息。以下是一些常用的备份与恢复方法:
    备份方法 使用tar命令备份...

  • 如何监控 Debian 缓存状态

    在 Debian 系统中,你可以通过几种方法来监控缓存状态。以下是一些常用的方法: APT 缓存状态: 你可以使用 apt-cache 命令来查看 APT 包缓存的状态。
    查看...

  • Linux backlog清理步骤是什么

    在Linux系统中,backlog通常指的是网络连接中的待处理数据包队列。当系统的网络栈无法及时处理所有到达的数据包时,这些数据包就会在backlog中等待。如果backlog...

  • Debian中Tomcat安全设置有哪些

    在Debian系统中配置Apache Tomcat的安全设置主要包括以下几个方面: 默认页处理: 替换默认页面:进入 webapps/root 目录,删除默认页面并部署自定义的网站内容。...

  • nohup命令如何监控进程状态

    nohup 命令用于在后台运行程序,使程序在用户退出登录后仍然继续运行。要监控使用 nohup 命令启动的进程状态,可以使用以下方法: 使用 ps 命令:
    你可以使...

  • pgAdmin在Linux上的自定义SQL查询

    pgAdmin 是一款功能强大且开源的 PostgreSQL 数据库管理和开发平台,支持 Linux、Unix、Mac OS X 以及 Windows 操作系统。要在 Linux 上使用 pgAdmin 进行自定义...