在现代 Web 开发中,使用 CI/CD 已经成为了一种标准的开发方式,它可以帮助开发者更快速、更可靠地构建和发布代码。在 Next.js 中,使用 CI/CD 可以使我们更加迅速地将新代码部署至生产环境中。本文将介绍如何在 Next.js 中使用 CI/CD,以及如何将 Next.js 应用程序发布至云端。
准备工作
在开始使用 CI/CD 之前,我们需要进行以下准备工作:
- 创建一个 Git 代码仓库,用于在云端托管我们的代码;
- 部署一个 Web 服务器,用于托管我们的 Next.js 应用程序。
在 GitLab 上设置 CI/CD
我们可以使用 GitLab 的 CI/CD 功能来完成自动化构建和部署 Next.js 应用程序的任务。我们可以通过以下步骤来配置 GitLab 的 CI/CD:
- 创建
.gitlab-ci.yml
文件。
-- -------------------- ---- ------- ------ ----------- ------- - ----- - ---- - ------ ------ ------ - ------------- -------------- - --- -- ------ ------ ----- ------- - --- --- ----- ----- ------ ---- ------- - --- --- ---- ----------- ------ ------ ------- - --- ------- -- --- - --- ------- ---------- ------
.gitlab-ci.yml
文件中包含了三个阶段:构建、测试和部署。我们首先在 before_script
阶段进行了 npm ci
,以确保我们使用了最新的依赖项,并将其缓存至 node_modules/
目录。在 build
阶段,我们运行了 npm run build
,将 Next.js 应用程序构建成静态页面。在 test
阶段,我们运行了 npm run test
,以确保代码的质量。在 production
阶段,我们安装了 now
工具,并且使用 now --token $NOW_TOKEN --prod
将应用程序部署至云端。
- 获取
NOW_TOKEN
。
我们需要获取一个 NOW_TOKEN
,以便在运行 now
命令时进行身份验证。要获取 NOW_TOKEN
,我们可以在 now 官网 中进行创建。
- 将
NOW_TOKEN
添加至 GitLab 项目中。
我们需要将 NOW_TOKEN
添加至 GitLab 项目中的 Settings > CI/CD 页面中。在 Secret variables 部分,我们可以添加一个名为 NOW_TOKEN
的变量,并将其设置为我们在第二步中获取的值。
- 推送代码至 GitLab。
将代码推送至 GitLab 后,我们可以在 GitLab 项目页面中找到 CI/CD 管道。我们可以使用 CI/CD 管道来追踪构建和部署任务的状态,并查看输出日志以确认是否成功部署应用程序。
在云端上托管 Next.js 应用程序
在我们完成了 CI/CD 的设置后,我们还需要将应用程序部署至云端。在 Next.js 中,有多个云和托管服务可供选择,例如 Zeit Now,Heroku 等。
这里我们以 Zeit Now 为例进行介绍,其它云和托管服务所需步骤类似。以下是在 Zeit Now 上托管 Next.js 应用程序的步骤:
- 安装
now
。
在命令行中运行以下命令:
npm install -g now
- 构建 Next.js 应用程序。
在命令行中运行以下命令来构建 Next.js 应用程序:
npm run build
- 部署应用程序至云端。
使用 now
命令将应用程序部署至云端。在命令行中,运行以下命令:
now
now
命令会将应用程序上传至云端,并返回一个可用于访问应用程序的 URL。
结论
本文介绍了如何在 Next.js 中使用 CI/CD 进行自动化构建和部署,并演示了如何将 Next.js 应用程序发布至云端。我们可以使用类似 GitLab、Zeit Now 等软件和服务来帮助我们更加高效地开发和部署应用程序。希望这篇文章可以帮助到有需要的读者。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/67123b0cad1e889fe2039701