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 Postman的性能如何优化

    Postman 是一款流行的 API 开发和测试工具,支持多种操作系统,包括 Debian。以下是一些在 Debian 上优化 Postman 性能的方法:
    系统优化 更换软件源:为了...

  • Node.js在Debian上如何备份

    在Debian系统上备份Node.js项目和日志可以通过以下步骤进行:
    备份Node.js项目 进入项目目录:
    cd /home/username/my-nodejs-project 创建压缩文件:<...

  • Debian中Oracle查询语句怎么写

    在Debian系统中,使用Oracle数据库时,查询语句的编写与在其他关系型数据库中的编写方式相同。Oracle SQL语言遵循SQL标准,因此您可以使用标准的SELECT、FROM、W...

  • Debian Syslog故障排查有哪些技巧

    Debian Syslog故障排查的技巧主要包括以下几个方面:
    基础检查 查看Syslog服务状态 使用systemctl status syslog或service syslog status命令检查Syslog服务...

  • 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 进行自定义...