ubuntu

ubuntu js怎样实现自动化部署

小樊
39
2025-10-14 08:05:07
栏目: 编程语言

在Ubuntu上实现JavaScript项目的自动化部署,可以借助多种工具和技术。以下是一个基本的步骤指南,使用Node.js、PM2和Git来实现自动化部署。

前提条件

  1. 安装Node.js和npm

    sudo apt update
    sudo apt install nodejs npm
    
  2. 安装Git

    sudo apt install git
    
  3. 安装PM2(进程管理器,用于管理Node.js应用):

    sudo npm install -g pm2
    

步骤指南

1. 初始化项目

如果你还没有一个Node.js项目,可以初始化一个:

mkdir my-node-app
cd my-node-app
npm init -y

2. 配置PM2

在你的项目根目录下创建一个ecosystem.config.js文件,用于配置PM2:

module.exports = {
  apps: [{
    name: 'my-node-app',
    script: 'app.js', // 你的入口文件
    instances: 'max', // 根据CPU核心数自动调整实例数
    exec_mode: 'cluster', // 使用集群模式
    env: {
      NODE_ENV: 'development'
    },
    env_production: {
      NODE_ENV: 'production'
    }
  }]
};

3. 配置Git仓库

确保你的项目已经推送到一个Git仓库(如GitHub、GitLab等)。

4. 创建部署脚本

在你的项目根目录下创建一个deploy.sh脚本,用于自动化部署:

#!/bin/bash

# 进入项目目录
cd /path/to/your/project

# 拉取最新代码
git pull origin master

# 安装依赖
npm install

# 构建项目(如果有需要)
npm run build

# 重启PM2应用
pm2 reload ecosystem.config.js --env production

确保脚本有执行权限:

chmod +x deploy.sh

5. 设置Webhook

在你的Git仓库中设置一个Webhook,指向你的服务器地址,并选择触发事件(如push事件)。

6. 配置Nginx(可选)

如果你需要通过Nginx来反向代理你的Node.js应用,可以安装并配置Nginx:

sudo apt install nginx

创建一个新的Nginx配置文件:

sudo nano /etc/nginx/sites-available/my-node-app

添加以下内容:

server {
    listen 80;
    server_name yourdomain.com;

    location / {
        proxy_pass http://localhost:3000; # PM2默认端口
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }
}

启用配置:

sudo ln -s /etc/nginx/sites-available/my-node-app /etc/nginx/sites-enabled
sudo nginx -t
sudo systemctl restart nginx

自动化部署流程

  1. 代码推送:将代码推送到Git仓库。
  2. 触发Webhook:Git仓库的Webhook触发部署脚本。
  3. 执行部署脚本deploy.sh脚本拉取最新代码、安装依赖、构建项目并重启PM2应用。

通过以上步骤,你就可以在Ubuntu上实现JavaScript项目的自动化部署。根据具体需求,你还可以进一步扩展和优化这个流程。

0
看了该问题的人还看了