基于 GitLab CI/CD Webhook 的 Node.js 自动化部署方案

本方案利用 GitLab CI/CD 的 Webhook 功能实现 Node.js 应用的自动化部署。其核心原理是在代码库每次构建完成后,自动触发目标服务器上预设的脚本,从而实现应用的更新迭代。

部署流程

  1. 配置 Webhook: 在 GitLab 项目设置中配置 Webhook,指定目标服务器地址及触发条件。
  2. 编写部署脚本: 在目标服务器上编写部署脚本,例如 deploy.sh,内容包括拉取最新代码、安装依赖、重启服务等操作。
  3. 启动监听服务: 在目标服务器上运行 server.js,监听来自 GitLab 的 Webhook 请求。
  4. 执行部署脚本: 当满足预设的触发条件时,server.js 会解析 Webhook 请求,并执行相应的部署脚本 deploy.sh

配置文件说明 (config.js)

{
  "app": {
    "PORT": 9001,
    "HOST": "localhost"
  },
  "script": {
    "PATH": '/' 
  },
  "conditions": [
    {
      "variable": "REF",
      "operator": "==",
      "value": "master" 
    }
  ]
}
  • app: 配置监听服务的端口号和地址。
  • script: 指定部署脚本的路径。
  • conditions: 定义触发部署的条件,例如仅在 master 分支更新时才执行部署。

优势

  • 自动化部署,减少人工干预。
  • 实时更新,提高开发效率。
  • 配置灵活,可满足不同项目需求。
zip 文件大小:4.97KB