部署是指将代码发布到服务器的一种行为。自动化部署就是使用工具来帮助你实现部署的过程,无需亲自动手。
在没有学会自动化部署前,我是这样部署项目的:
1.执行测试npmruntest。2.构建项目npmrunbuild。3.将打包好的文件放到静态服务器。
偶尔一次两次还行,如果每次部署项目都这样,就会把很多时间浪费在重复的操作上。所以我们要学会自动部署,彻底解放双手。
自动部署(又叫持续部署ContinuousDeployment,英文缩写CD)一般有两种触发方式:
1.定时触发。2.监听webhook事件,事件触发时执行自动打包、部署等操作。
定时触发定时触发,就是构建软件每隔一段时间自动执行打包、部署操作。
这种方式不太好,很有可能软件刚部署完开发就改代码了。为了看到新的页面效果,不得不等到下一次构建开始。另外还有一个副作用,假如开发一天都没更改代码,构建软件还是会不停的执行打包、部署操作,白白的浪费资源。
所以现在基本都是采用监听webhook事件的方式来进行部署。
监听webhook事件webhook钩子函数,就是在你的构建软件上进行设置,监听某一个事件(一般是监听push事件),当事件触发时,自动执行定义好的脚本。
例如GithubActions,就有这个功能。
为了满足不同用户的需要,本章将使用Jenkins[1]和GithubActions[2]来讲解如何部署前端项目。
1.第一部分讲解如何使用Gitea[3]配置局域网git服务器,再使用Jenkins将Gitea下的项目部署到局域网服务器。2.第二部分讲解如何使用GithubActions将Github项目部署到GithubPage[4]和阿里云服务器。
阅读本章内容并不需要你提前了解Jenkins和GithubActions的知识(它们俩都是部署工具),只要按照本章内容的指引,就能够实现自动化部署项目。
PS:本人所用电脑操作系统为windows,即以下所有的操作均在windows下运行。其他操作系统的配置大同小异,不会有太大差别。
Gitea+Jenkins自动构建前端项目并部署到服务器Gitea用于构建Git局域网服务器,Jenkins是CI/CD工具,用于部署前端项目。
配置Gitea1.下载Gitea[5],选择一个喜欢的版本,例如1.13,选择gitea-1.13-windows-4.0-amd64.exe下载。2.下载完后,新建一个目录(例如gitea),将下载的Gitea软件放到该目录下,双击运行。3.打开localhost:就能看到Gitea已经运行在你的电脑上了。4.点击注册,第一次会弹出一个初始配置页面,数据库选择SQLite3。另外把localhost改成你电脑的局域网地址,例如我的电脑IP为..0.。
1.填完信息后,点击立即安装,等待一会,即可完成配置。2.继续点击注册用户,第一个注册的用户将会成会管理员。3.打开Gitea的安装目录,找到custom\conf\app.ini,在里面加上一行代码START_SSH_SERVER=true。这时就可以使用ssh进行push操作了。
1.
如果使用