你们之前写前端项目部署,可能都是手动运行命令,打包完,而后压缩,再利用FTP、Xshell等这类的工具上传到服务器解压。也或者你不会操做,你认为这些事情是运维作的,你只须要打包你的前端项目代码后发给运维你就无论了。这种方式确实有点low且效率也不高。html
如今你们更关注的是Devops,关注如何来作持续集成,持续交付,如何来作CI/CD。前端
今天就拿Jenkins配合Github实现自动化集成打包部署。vue
系列文章:webpack
CentOS 7 安装 JAVA环境(JDK 1.8)git
CentOS 7 安装Nodegithub
Jenkins的安装这里就不在说明了,网上安装教程不少。web
引用百度百科的一句话:Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工做,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。shell
在工做中部署jenkins的最大好处就是每次在开发、测试环境代码,都无须运维部署
,而是相关的开发人员,测试人员登陆jenkins构建须要部署的tag或者分支便可,整个部署过程无须运维参与,解放运维劳动力。服务器
也不用担忧部署在多个服务器,在家写代码也不用远程公司部署项目,提交代码后会自动为你部署。hexo
jenkins的构建方式经常使用分为三种。
**jenkins触发式构建:**push代码或者合并代码到项目的master或者其余分支,jenkins就部署代码到对应服务器。
**jenkins参数化构建:**push代码或者合并代码到项目的master或者其余分支以后,并不会部署代码,而是须要登陆到jenkins的web界面,点击构建按钮,传入对应的参数(好比参数须要构建的tag,须要部署的分支)而后才会部署。
**jenkins定时构建:**多用于APP、自动化用例等自动打包,定时构建是在参数化构建的基础上添加的,开发人员能够登陆jenkins手动传入tag进行打包,若是不手动打包,那么jenkins就定时从配置项目地址拉取最新的代码打包。
进入github 设置页,选择Developer settings
选择 Personal access tokens
-> Generate new token
勾选以下配置
而后点生成就好了,切记必定要保存好这个token
,只显示一次。
进入系统管理 => 管理插件 => 安装插件 Github Plugin
而后进入 系统管理 => 系统设置 => Github Server 添加信息
Credentials 那里再点击 Add 添加以下信息
添加完毕以后记得选择咱们刚刚添加的信息
最后点击 Test Connection 若是配置正确应当有以下显示:
建立一个自由风格的任务
勾选 Github Project
填入github仓库url
源码管理选择Git
,填写仓库git地址,选择须要构建的分支,我这里选择master
(** 为选择全部分支)
构建触发器,这里大家能够根据上面所说的部署方式来选择,这里我选择 GitHub hook trigger for GITScm polling
,来完成 push
后自动构建
而后就是构建 => 增长构建步骤 => 执行shell 填入你本身的构建和部署的命令 我这里拿个人hexo
博客举例
如今若是提交代码到对应的分支,就会自动触发构建,若是构建成功,也就自动部署在你的网站上了。其实这里就是我们配置生效了,github监听到我们push后,利用webhook
通知Jenkins:大爷来玩呀,Jenkins就会根据我们的配置自动完成构建部署。
配置看似很繁琐,其实很简单,配置过一次,再配置第二次就是手到擒来,其余项目也是如此,如 vue
+webpack
类的,只是构建的shell命令不同而已。还有,切记 rm -rf
慎用慎用!233... o(╥﹏╥)o