Skip to content

构建部署

普通构建

项目开发完成之后,在项目根目录下执行以下命令进行构建:

bash
pnpm build

构建完成后,项目会生成 dist 目录,将生成的 dist 目录和原本项目中的 prisma 文件夹 、 原本项目中的 package.jsonpnpm-lock.yaml.env.env.production 文件上传到服务器中,目录结构如下:

text
pure-admin-nestjs/
├── dist/
├── prisma/
├── package.json
├── pnpm-lock.yaml
├── .env
└── .env.production

在服务器中进入项目文件夹,并运行以下命令启动服务:

bash
pnpm i
pnpm prisma:generate
NODE_ENV=production pm2 start dist/src/main.js --name pure-admin-nestjs

Docker 构建

打包镜像

在源码根目录运行:

bash
docker build -t pure-admin-nestjs .

传输到服务器

bash
# 保存镜像到本地
docker save -o pure-admin-nestjs.tar pure-admin-nestjs

# 传输到服务器
scp pure-admin-nestjs.tar user@server-ip:/tmp/

在服务器上加载镜像

bash
docker load -i /tmp/pure-admin-nestjs.tar

运行镜像

命令参数:

  • --name [你的容器名称]
  • -p [你要运行的端口]:3000
  • -v [你要在服务器上存放 logs 的路径]:/app/logs

修改参数,并运行:

bash
docker run -d \
  --name pure-admin-nestjs \
  -p 3000:3000 \
  -v /your/app/logs:/app/logs \
  pure-admin-nestjs