使用Jenkins部署前端项目

自动构建与持续交付,你是否因为每次打包然后部署到服务器而烦恼,大点的公司一般都有运维帮你进行部署,而小公司一般都要自己进行部署。

如果是一个项目仅仅只部署到一个服务器,那么手动部署还能接受,如果项目过多,可能会出现部署错项目位置的情况。

还有如果一个项目要部署到好几个服务器呢?光是部署都要花费不少时间,让我们想想正常的部署流程:

  1. 打上tag。
  2. 通过Git提交到代码管理仓库。
  3. 通过npm run build进行打包。(如果有测试代码还需要先进行测试)
  4. 通过SSH连接到服务器。(mstsc)
  5. 将项目在指定的位置进行备份。
  6. 备份完成后,将项目文件拷贝到部署目录下。
  7. 完成部署。

而如果是通过Jenkins自动化构建呢?

  1. 打上tag。
  2. 通过Git提交到代码管理仓库。
  3. 等待Jenkins自动部署完成!

从上面的步骤就可以看出,只要你进行Git提交,Jenkins就会自动拉取Git仓库上的代码,然后自动进行打包,之后再通过SSH连接到需要部署的服务器,将最终的项目部署到服务器上面,最后会将部署结果发送到你的邮箱。

注意:本篇文章的环境统一为windows上的docker环境。昨天新购了一台学习服务器,Linux系统,在docker上面安装Jenkins遇到了文件权限问题。

安装Jenkins

Jenkins的安装方法在官网中已经介绍的非常详细,根据你当前的系统选择不同的安装方式就可以了,相信看到这篇文章的朋友对于安装Jenkins还是没有任何困难的,所以这里就不再啰嗦,直接进入正题。

需要准备的Jenkins插件

需要使用到的插件:

  • git:提供Git功能。
  • Email Extension:将运行结果发送到你的邮箱。
  • Nodejs:node环境,打包前端项目时使用。
  • Publish Over SSH:通过SSH连接到需要部署的服务器。
  • Generic Webhook Trigger:当Webhook被触发时,自动执行该部署操作。

如何安装插件?

image-20201228225806253

Manage Jenkins-Manage Plugins-Available

image-20201228230022524

然后进行搜索插件就可以,根据上面的提示进行一步一步的安装。

如果插件安装失败,那么很可能是你网络的问题。

  1. 使用镜像服务器
  2. 使用系统代理
  3. 手动安装

无论如何都不推荐第三个方法手动安装,除非是在前两个方法行不通的情况,因为一个插件往往要依赖其它的插件,然后其它的插件又有依赖的插件,你需要一个一个的把所有依赖的插件下载下来,然后手动安装,这非常的耗时。我初学Jenkins的时候就这样试过,大概要花半个小时到一个小时。并且每次重装Jenkins,你都需要再来一次。

下面对于这三种方法,都简单的进行讲解:

使用镜像服务器

使用系统代理

推荐的一种办法,因为Jenkins是启动在docker上,而docker又启动在windows上,如果你的电脑上面启动了代理,你只需要填上代理就可以。

依然是在上面的插件界面。

image-20201230172108251

host.docker.internal是windows docker提供的容器访问主机本地的方法跟127.0.0.1一个道理,如果不是运行在docker中,直接输入127.0.0.1即可。

手动安装

最不推荐的一种办法,但是还是讲一下如何操作

新建一个项目

点击左边的New Item。

image-20201228230502493

image-20201228230601907

选择Freestyle project,并且填入名称(名称可以随意填写)。

配置Git

配置服务器

配置邮箱

配置触发器

打包完成

最后

一旦使用自动化部署就无法离开了,所以作为一个前端开发者,还是有必要学习一下自动部署,虽然大一点的公司有运维都帮你配置好了,你直接用就行了,但是学习了Jenkins后,你可以将它用于你的个人项目中。

另外,如果你需要在本地启动Jenkins并且需要触发WebHook的话,你就必须拥有一个公网IP,如果没有公网IP的话,你可能需要内网穿透这项便利的功能。