返回

从零开始用Jenkins+Github+Nginx实现前端项目自动部署

前端

前言

随着前端项目的日益复杂,如何快速、高效地将项目部署到生产环境成为了一大难题。传统的部署方式往往需要手动操作,不仅费时费力,而且容易出错。为了解决这一问题,自动化部署应运而生。

自动化部署是一种通过自动化工具和流程将项目代码从开发环境部署到生产环境的技术。它可以大大提高部署效率,减少出错的可能性,并且可以与持续集成(CI)和持续交付(CD)等实践相结合,实现端到端的自动化软件交付流程。

在本文中,我们将介绍如何使用Jenkins、Github和Nginx实现前端项目的自动部署。Jenkins是一个流行的持续集成和持续交付工具,Github是一个代码托管平台,Nginx是一个轻量级的反向代理服务器。我们将使用Jenkins来构建和测试项目代码,使用Github来托管项目代码并触发部署,使用Nginx来代理请求并提供静态资源。

Jenkins安装和配置

  1. 下载并安装Jenkins。
  2. 启动Jenkins并打开浏览器访问Jenkins的Web界面。
  3. 选择一种身份验证方式并设置管理员密码。
  4. 安装必要的插件,如Git、GitHub、Publish Over SSH等。
  5. 创建一个名为“前端项目自动部署”的作业。
  6. 在作业的配置页面中,选择“构建触发器”选项卡,并添加一个Github Webhook触发器。
  7. 在Github Webhook触发器配置页面中,输入Github项目仓库的URL和Webhook Secret。
  8. 选择“构建”选项卡,并添加以下构建步骤:
    • Git克隆:克隆Github项目仓库。
    • 构建项目:使用npm或Yarn构建项目。
    • 发布项目:将构建后的项目发布到指定目录。
  9. 选择“后构建操作”选项卡,并添加一个SSH发布操作。
  10. 在SSH发布操作配置页面中,输入服务器的IP地址、端口号、用户名和密码。
  11. 选择“保存”按钮保存作业。

Github Webhook设置

  1. 登录Github并打开项目仓库的设置页面。
  2. 选择“Webhooks”选项卡。
  3. 点击“Add webhook”按钮。
  4. 在“Payload URL”字段中,输入Jenkins作业的Webhook URL。
  5. 在“Content type”字段中,选择“application/json”。
  6. 在“Secret”字段中,输入Jenkins作业的Webhook Secret。
  7. 点击“Add webhook”按钮保存设置。

Nginx配置

  1. 在服务器上安装Nginx。
  2. 创建一个名为“前端项目”的虚拟主机配置文件。
  3. 在虚拟主机配置文件中,添加以下内容:
server {
    listen 80;
    server_name example.com;
    root /var/www/frontend-project;
    index index.html;

    location / {
        try_files $uri $uri/ /index.html;
    }
}
  1. 将构建后的项目文件复制到“/var/www/frontend-project”目录。
  2. 重新启动Nginx。

测试自动部署

  1. 在Github项目仓库中推送新的代码。
  2. 等待Jenkins作业触发并构建项目。
  3. 查看服务器上的“/var/www/frontend-project”目录,确保构建后的项目文件已经复制到该目录。
  4. 访问网站,确认新的代码已经部署成功。

总结

通过使用Jenkins、Github和Nginx,我们成功地实现了一个前端项目的自动部署流水线。这个流水线可以自动从Github仓库克隆代码,构建项目,并将构建后的项目文件发布到服务器。当Github仓库中的代码发生变化时,流水线将自动触发,并执行上述操作。这大大提高了部署效率,减少了出错的可能性,并使我们能够更专注于开发新的功能。