返回
Node.js + Gitee实现自动化部署
后端
2023-12-23 01:33:29
引言
在当今快节奏的软件开发环境中,自动化部署对于快速、可靠地交付软件至关重要。使用Node.js和Gitee,您可以轻松设置一个自动化部署系统,该系统可以在代码更改时自动构建、测试和部署您的应用程序。这不仅可以节省您的时间和精力,还可以确保您的应用程序始终是最新的。
先决条件
- CentOS 7操作系统
- Node.js 12或更高版本
- Gitee账户
- Nginx Web服务器
步骤1:设置Node.js HTTP服务
-
创建一个新的Node.js项目目录。
-
在项目目录中,运行以下命令安装Express框架:
npm install express
- 创建一个名为“server.js”的文件,并添加以下代码:
const express = require('express');
const app = express();
app.get('/', (req, res) => {
res.send('Hello World!');
});
app.listen(3000, () => {
console.log('Server is listening on port 3000');
});
- 运行以下命令启动HTTP服务:
node server.js
步骤2:配置Gitee Webhooks
-
登录您的Gitee账户并导航到您的项目。
-
单击“设置”选项卡,然后选择“Webhooks”。
-
单击“添加Webhook”按钮,然后输入以下信息:
- 名称: 输入一个有意义的名称,例如“Node.js部署”。
- URL: 输入您的HTTP服务的URL,例如“http://localhost:3000/deploy”。
- 事件: 选择“Push”。
- 内容类型: 选择“JSON”。
- 单击“添加Webhook”按钮。
步骤3:创建Shell脚本
- 在项目目录中,创建一个名为“deploy.sh”的文件,并添加以下代码:
#!/bin/bash
# 构建HTTP服务
cd http-service
npm install
npm run build
# 构建NestJS项目
cd ../nestjs-project
npm install
npm run build
# 重启HTTP服务
cd ../http-service
forever restart server.js
# 部署前端Vue项目
cd ../vue-project
npm install
npm run build
sudo cp -r dist /var/www/html
# 重启Nginx
sudo systemctl restart nginx
- 确保脚本具有可执行权限:
chmod +x deploy.sh
步骤4:设置Forever
- 全局安装Forever:
npm install forever -g
- 在HTTP服务的项目目录中,运行以下命令启动Forever:
forever start server.js
步骤5:配置Nginx
-
打开Nginx配置文件,通常位于“/etc/nginx/nginx.conf”。
-
添加以下配置:
server {
listen 80;
server_name example.com;
location / {
root /var/www/html;
index index.html;
}
}
- 重新加载Nginx:
sudo systemctl reload nginx
结论
现在,您已经成功地设置了一个自动化部署系统,该系统可以在代码更改时自动构建、测试和部署您的应用程序。这将为您节省时间和精力,并确保您的应用程序始终是最新的。