从零到上线:Node.js 项目的完备摆设流程(包含 Docker 和 CICD) ...

打印 上一主题 下一主题

主题 1046|帖子 1046|积分 3138

从零到上线:Node.js 项目的完备摆设流程(包含 Docker 和 CI/CD)


目次


  • 项目初始化:构建一个简朴的 Node.js 应用
  • 设置 Docker 环境:容器化你的应用
  • 设置 CI/CD:自动化构建与摆设
  • 上线前的最后检查:确保项目可以无缝摆设
  • 常见标题与排查技巧

1. 项目初始化:构建一个简朴的 Node.js 应用

首先,我们从构建一个简朴的 Node.js 项目开始,确保你的开辟环境已经安装了 Node.js 和 npm。
1.1 初始化项目

打开终端,创建一个新目次并初始化 Node.js 项目:
  1. mkdir my-node-app
  2. cd my-node-app
  3. npm init -y
复制代码
这会在当前目次下创建一个 package.json 文件。
1.2 安装必要依赖

安装 Express,作为我们的 Web 框架。
  1. npm install express
复制代码
1.3 创建基础应用

在项目根目次下创建一个 index.js 文件,简朴实现一个 API 端口:
  1. // index.js
  2. const express = require('express');
  3. const app = express();
  4. const port = process.env.PORT || 3000;
  5. app.get('/', (req, res) => {
  6.   res.send('Hello, World!');
  7. });
  8. app.listen(port, () => {
  9.   console.log(`Server is running on http://localhost:${port}`);
  10. });
复制代码
1.4 本地启动

通过以下命令启动本地开辟服务器:
  1. node index.js
复制代码
访问 http://localhost:3000,你应该能看到 “Hello, World!”。

2. 设置 Docker 环境:容器化你的应用

Docker 是一种非常流行的容器化工具,它允许你将应用及其所有依赖打包到一个可移植的容器中,确保无论在什么环境下都能同等地运行。
2.1 创建 Dockerfile

在项目根目次下创建一个 Dockerfile,用来构建 Docker 镜像。
  1. # 使用官方 Node.js 镜像作为基础镜像
  2. FROM node:14
  3. # 设置工作目录
  4. WORKDIR /usr/src/app
  5. # 复制 package.json 并安装依赖
  6. COPY package*.json ./
  7. RUN npm install
  8. # 复制项目文件
  9. COPY . .
  10. # 设置环境变量
  11. ENV PORT 3000
  12. # 暴露端口
  13. EXPOSE 3000
  14. # 启动应用
  15. CMD ["node", "index.js"]
复制代码
2.2 构建 Docker 镜像

构建镜像并给它定名为 my-node-app:
  1. docker build -t my-node-app .
复制代码
2.3 运行 Docker 容器

运行镜像并映射到本地的 3000 端口:
  1. docker run -p 3000:3000 my-node-app
复制代码
这时,你的应用就已经在 Docker 容器中运行了,通过访问 http://localhost:3000,你依然可以看到 “Hello, World!”。

3. 设置 CI/CD:自动化构建与摆设

CI/CD(连续集成/连续摆设)是今世软件开辟流程中的焦点构成部门,可以帮助你自动化构建、测试和摆设过程。我们利用 GitHub Actions 来实现这一流程。
3.1 创建 GitHub 堆栈

首先,将代码推送到 GitHub 上,创建一个新的堆栈并将代码推奉上去。
  1. git init
  2. git add .
  3. git commit -m "Initial commit"
  4. git remote add origin <your-repo-url>
  5. git push -u origin master
复制代码
3.2 设置 GitHub Actions

在项目根目次下创建 .github/workflows 目次,并在该目次下创建一个 ci-cd.yml 文件:
  1. name: CI/CD Pipelineon:  push:    branches:      - master  pull_request:    branches:      - masterjobs:  build:    runs-on: ubuntu-latest    steps:      - name: Checkout code        uses: actions/checkout@v2      - name: Set up Docker        uses: docker/setup-buildx-action@v2      - name: Build Docker image        run: |          docker build -t my-node-app .
  2.       - name: Run Docker container        run: |          docker run -d -p 3000:3000 my-node-app                - name: Test application        run: |          curl http://localhost:3000
复制代码
3.3 自动化流程阐明



  • actions/checkout@v2:用于检查代码库。
  • docker/setup-buildx-action@v2:设置 Docker 构建工具。
  • docker build:构建 Docker 镜像。
  • docker run:启动 Docker 容器并映射端口。
  • curl http://localhost:3000:通过 curl 测试应用是否正常运行。
3.4 提交并推送

将 GitHub Actions 设置文件提交并推送:
  1. git add .github/workflows/ci-cd.yml
  2. git commit -m "Add CI/CD pipeline"
  3. git push origin master
复制代码
每次推送到 master 分支时,GitHub Actions 会自动触发该工作流,构建并摆设应用。

4. 上线前的最后检查:确保项目可以无缝摆设

在上线之前,确保进行以下操作:


  • 本地测试:确保 Docker 容器能够正确运行,并且 API 可访问。
  • 测试 CI/CD 流程:手动推送代码到 GitHub,查看自动化流程是否正常执行。
  • 检查日志:确保所有的日志都记载了详细的错误信息和运行状态,方便日后调试。

5. 常见标题与排查技巧

5.1 Docker 容器启动失败



  • 错误信息:Error: Cannot find module 'express'
  • 解决方案:确保在 Dockerfile 中安装了依赖,并且正确复制了项目文件。
5.2 GitHub Actions 构建失败



  • 错误信息:docker: buildx is not installed
  • 解决方案:检查 GitHub Actions 设置文件中的 Docker 设置是否正确,确保利用了正确的构建工具。
5.3 端口冲突



  • 错误信息:Error: bind: address already in use
  • 解决方案:检查主机上的端口是否被其他应用占用,可以尝试更改容器暴露的端口。

总结

从零到上线,Node.js 项目的摆设过程涉及多个步骤,包括项目初始化、Docker 容器化和 CI/CD 设置。利用 Docker,可以确保你的应用在任何环境下都能同等地运行;而设置 CI/CD,可以让你在代码更改时自动化地完成构建、测试和摆设。把握这些摆设技巧,能够显著提高开辟效率和系统稳定性。
希望这篇指南能够帮助你明白从零到上线的整个流程,成功摆设你本身的 Node.js 项目!

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

络腮胡菲菲

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表