返回
从零实现CI/CD(二):Node服务部署及前后端联调
前端
2023-11-08 17:33:36
前言
在上一篇文章中,我们学习了如何使用Jenkins搭建CI/CD流水线,并完成了代码的自动构建和单元测试。在本文中,我们将进一步了解如何将构建好的Node.js服务部署到服务器,并与前端应用进行联调,最终将服务与MySQL数据库连接,完成一个完整的Node.js前后端项目。
部署Node.js服务
1. 准备工作
在部署Node.js服务之前,我们需要做一些准备工作:
- 确保Node.js和Nginx已安装在服务器上。
- 创建一个新的Node.js项目,并安装必要的依赖包。
- 在项目中编写一个简单的Node.js服务,该服务可以处理HTTP请求并返回相应的数据。
- 在服务器上创建一个新的目录,用于存放Node.js服务。
2. 构建Node.js服务
在完成准备工作后,我们可以使用Jenkins构建Node.js服务。
- 在Jenkins中创建一个新的任务,并选择“构建一个自由风格的软件项目”模板。
- 在任务名称中输入“构建Node.js服务”,并在项目URL中输入项目代码的版本控制地址。
- 在构建步骤中添加以下内容:
- npm install
- npm run build
- 在构建完成后添加以下内容:
- 将构建好的文件复制到服务器上的目标目录
- 启动Node.js服务
3. 设置Nginx代理
为了使Node.js服务可以通过域名访问,我们需要使用Nginx作为代理服务器。
- 在Nginx配置文件中添加以下内容:
server {
listen 80;
server_name example.com;
location / {
proxy_pass http://127.0.0.1:3000;
}
}
- 重启Nginx服务。
现在,就可以通过访问域名来访问Node.js服务了。
解决跨域问题
当前端应用与Node.js服务部署在不同的域名下时,就会出现跨域问题。为了解决这个问题,我们需要在Node.js服务中设置允许跨域的HTTP头。
在Node.js服务中添加以下代码:
app.use(function(req, res, next) {
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
next();
});
这样,前端应用就可以跨域访问Node.js服务了。
连接MySQL数据库
为了使Node.js服务能够连接MySQL数据库,我们需要安装MySQL客户端库。
在Node.js项目中安装MySQL客户端库:
npm install mysql
在Node.js服务中连接MySQL数据库:
const mysql = require('mysql');
const connection = mysql.createConnection({
host: 'localhost',
user: 'root',
password: 'password',
database: 'database_name'
});
connection.connect(function(err) {
if (err) throw err;
console.log("Connected!");
});
现在,Node.js服务就可以连接MySQL数据库了。
结语
在本文中,我们学习了如何将Node.js服务部署到服务器,并与前端应用进行联调,最终将服务与MySQL数据库连接,完成了一个完整的Node.js前后端项目。通过本文的学习,相信大家对Node.js的开发和部署有了更深入的了解。