利用Jenkins、Docker Compose和Gitee实现NestJS项目的自动化部署

作者:菠萝爱吃肉2024.03.22 17:46浏览量:30

简介:本文将介绍如何使用Jenkins、Docker Compose和Gitee实现NestJS项目的自动化部署。我们将通过Jenkins设置持续集成流程,Docker Compose管理多容器应用,以及Gitee作为代码仓库。文章将详细阐述每一步的设置和操作,为读者提供清晰的操作指南。

引言

随着DevOps文化的兴起,自动化部署已经成为了现代软件开发的重要一环。NestJS作为一个高效、可扩展的Node.js框架,在构建企业级应用时表现出色。本文将通过Jenkins、Docker Compose和Gitee的组合,为NestJS项目实现自动化部署提供解决方案。

前提条件

  • 已安装并配置好Docker和Docker Compose
  • 已在Gitee上创建好NestJS项目的代码仓库
  • 已在服务器上安装并配置好Jenkins

步骤一:设置Gitee仓库

  1. 在Gitee上创建一个新的仓库,用于存储NestJS项目的代码。
  2. 将NestJS项目的代码推送到Gitee仓库中。

步骤二:配置Jenkins

  1. 在Jenkins中创建一个新的构建项目,并配置项目的源码管理,选择Gitee作为代码仓库,并填写仓库地址和认证信息。
  2. 配置构建触发器,选择“Poll SCM”,并设置轮询的时间间隔,以便Jenkins定期检查代码仓库的变更。
  3. 配置构建步骤,选择“Execute shell”,并编写构建脚本。构建脚本应包括拉取最新代码、安装依赖、构建应用等步骤。例如:
  1. git pull
  2. npm install
  3. npm run build
  1. 配置构建后的操作,选择“Post-build Actions”,并添加“Archive the artifacts”步骤,以便将构建生成的文件存档。

步骤三:编写Docker Compose文件

在NestJS项目的根目录下创建一个名为docker-compose.yml的文件,并编写以下内容:

  1. version: '3'
  2. services:
  3. nestjs-app:
  4. build: .
  5. ports:
  6. - '3000:3000'
  7. volumes:
  8. - ./dist:/usr/src/app/dist

该Docker Compose文件定义了一个名为nestjs-app的服务,使用当前目录下的Dockerfile进行构建,并将容器的3000端口映射到主机的3000端口。同时,将构建生成的dist目录挂载到容器的/usr/src/app/dist目录下。

步骤四:构建Docker镜像并运行容器

在Jenkins的构建脚本中添加构建Docker镜像和运行容器的步骤。例如:

  1. docker-compose build
  2. docker-compose up -d

这样,当Jenkins检测到代码仓库有变更时,会自动拉取最新代码、构建应用、构建Docker镜像并运行容器,从而实现NestJS项目的自动化部署。

总结

通过Jenkins、Docker Compose和Gitee的组合,我们可以轻松地实现NestJS项目的自动化部署。Jenkins负责持续集成和构建,Docker Compose管理多容器应用,Gitee作为代码仓库。这种方式不仅提高了开发效率,还增强了应用的可扩展性和可靠性。希望本文能对你有所帮助,让你在NestJS项目的自动化部署方面更加得心应手。