Jenkins 自动 / 手动部署流程

type
status
date
slug
summary
tags
category
icon
password
CI/CD流程
CI/CD流程

一、安装所需插件

  • Gitee Plugin / GitHub Plugin:对接代码仓库
  • Maven Integration:Maven 构建
  • Publish Over SSH:远程分发与部署
  • Config File Provider(推荐):集中管理配置文件
  • Pipeline(推荐):流水线方式规范自动化

二、配置 Jenkins 工作环境

2.1 配置 Git 服务器

  • 路径:系统管理 → 系统配置 → Gitee 配置
    • 连接名:自定义
    • Gitee 域名 URL
    • 证书令牌:在 Gitee 账号中生成

2.2 配置 SSH Server

  • 路径:系统管理 → 系统配置 → SSH Server
    • Name:自定义
    • Hostname:Tomcat 服务器 IP
    • Username:远程用户
    • Remote Directory:应用部署目录,如 /deploy
  • 配置免密登录:
    • 在 Jenkins 中添加私钥并测试连接。

    2.3 添加 Tomcat 服务器

    • 在 Jenkins 中配置 Tomcat 相关参数,确保可远程操作。

    2.4 配置工具

    • 路径:系统管理 → 全局工具配置
      • Git:
        • Name:自定义
        • Path:/usr/bin/git
      • Maven:
        • Name:自定义
        • MAVEN_HOME:/usr/local/maven
      • JDK:
        • Name:自定义
        • JAVA_HOME:/usr/local/jdk1.8.0_91

    三、新建任务(Job)

    • 创建 Maven 项目或自由风格任务。
      • notion image
    • 配置 Git 仓库地址。
      • notion image
    • 选择构建工具(Maven)。
      • notion image
        notion image
    • 构建命令:

      四、手动部署 Tomcat 项目

      notion image
      • 停止 Tomcat,清理旧包并部署新包:
        ⚠️
        如在 server.xml 中配置了别名 alias,部署前请删除避免冲突。

        五、自动部署 Tomcat 项目

        • 在 Jenkins 构建触发器 Triggers 中配置:
          • 使用 Webhook / Jenkins Token 触发自动构建。
          • notion image
            notion image
            notion image
        • 配置完成后将自动打包、传输并部署。

        六、手动部署 Spring Boot 项目

        1. 数据库准备:
            • 导入数据
            • 创建数据库用户并授权
        1. 打包项目:
          1. 启动项目(默认前台):

            七、自动部署 Spring Boot 项目

            • 修改配置文件(如数据库信息):
              • notion image
            • 部署步骤:
              • notion image

            八、补充知识点

            • Jenkinsfile 可以进一步规范自动化流程(推荐 Pipeline 方式)。
            • 参数化构建:可在 Jenkins 中添加构建参数,动态控制分支、环境。

            日志查看

            • Jenkins 控制台日志
            • Tomcat:/usr/local/tomcat90/logs/catalina.out
            • Spring Boot:nohup.out

            常见问题排查

            • 权限问题:检查 SSH、目录权限
            • 环境变量:确认 Jenkins 使用的 JDK/Maven 是否正确
            • 防火墙 / SELinux:可能阻止远程部署

            附:部署前后核对清单

            代码仓库凭据生效,Webhook 测试通过
            构建节点 JDK、Maven、Git 路径正确
            目标主机免密 SSH 可用
            Tomcat 端口空闲且无 alias 冲突
            数据库连接、账号、权限已就绪
            日志路径与滚动策略已确认
            应用启动后访问返回 200 状态码
            Loading...