ubuntu js怎样实现自动化部署
导读:在Ubuntu上实现JavaScript项目的自动化部署,可以借助多种工具和技术。以下是一个基本的步骤指南,使用Node.js、PM2和Git来实现自动化部署。 前提条件 安装Node.js和npm: sudo apt update s...
在Ubuntu上实现JavaScript项目的自动化部署,可以借助多种工具和技术。以下是一个基本的步骤指南,使用Node.js、PM2和Git来实现自动化部署。
前提条件
-
安装Node.js和npm:
sudo apt update sudo apt install nodejs npm
-
安装Git:
sudo apt install git
-
安装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
自动化部署流程
- 代码推送:将代码推送到Git仓库。
- 触发Webhook:Git仓库的Webhook触发部署脚本。
- 执行部署脚本:
deploy.sh
脚本拉取最新代码、安装依赖、构建项目并重启PM2应用。
通过以上步骤,你就可以在Ubuntu上实现JavaScript项目的自动化部署。根据具体需求,你还可以进一步扩展和优化这个流程。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: ubuntu js怎样实现自动化部署
本文地址: https://pptw.com/jishu/726124.html