美文网首页
Jenkins配合github实现前端项目自动化构建部署

Jenkins配合github实现前端项目自动化构建部署

作者: 小申同学 | 来源:发表于2018-09-14 18:02 被阅读0次

    前言

    大家以前写前端项目部署,可能都是手动运行命令,打包完,然后压缩,再利用FTP、Xshell等这类的工具上传到服务器解压。也或者你不会操作,你认为这些事情是运维做的,你只需要打包你的前端项目代码后发给运维你就不管了。这种方式确实有点low且效率也不高。

    现在大家更关注的是Devops,关注如何来做持续集成,持续交付,如何来做CI/CD。

    今天就拿Jenkins配合Github实现自动化集成打包部署。

    系列文章:

    CentOS 7 安装 JAVA环境(JDK 1.8)

    CentOS 7 安装Node

    Jenkins的安装这里就不在说明了,网上安装教程很多。

    Jenkins介绍

    引用百度百科的一句话:Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。

    在工作中部署jenkins的最大好处就是每次在开发、测试环境代码,都无须运维部署,而是相关的开发人员,测试人员登录jenkins构建需要部署的tag或者分支即可,整个部署过程无须运维参与,解放运维劳动力。

    也不用担心部署在多个服务器,在家写代码也不用远程公司部署项目,提交代码后会自动为你部署。

    部署方式

    jenkins的构建方式常用分为三种。

    jenkins触发式构建:push代码或者合并代码到项目的master或者其他分支,jenkins就部署代码到对应服务器。

    jenkins参数化构建:push代码或者合并代码到项目的master或者其他分支之后,并不会部署代码,而是需要登录到jenkins的web界面,点击构建按钮,传入对应的参数(比如参数需要构建的tag,需要部署的分支)然后才会部署。

    jenkins定时构建:多用于APP、自动化用例等自动打包,定时构建是在参数化构建的基础上添加的,开发人员可以登录jenkins手动传入tag进行打包,如果不手动打包,那么jenkins就定时从配置项目地址拉取最新的代码打包。

    Jenkins + github持续集成

    创建 github AccessToken

    进入github 设置页,选择Developer settings

    image

    选择 Personal access tokens -> Generate new token

    image

    勾选如下配置

    image

    然后点生成就行了,切记一定要保存好这个token,只显示一次。

    配置Jenkins

    进入系统管理 => 管理插件 => 安装插件 Github Plugin

    image

    然后进入 系统管理 => 系统设置 => Github Server 添加信息

    image

    Credentials 那里再点击 Add 添加如下信息

    image

    添加完毕之后记得选择我们刚刚添加的信息

    最后点击 Test Connection 如果配置正确应当有如下显示:

    image

    创建任务

    创建一个自由风格的任务

    image

    勾选 Github Project 填入github仓库url

    image

    源码管理选择Git ,填写仓库git地址,选择需要构建的分支,我这里选择master (** 为选择所有分支)

    image

    构建触发器,这里你们可以根据上面所说的部署方式来选择,这里我选择 GitHub hook trigger for GITScm polling ,来完成 push 后自动构建

    image

    然后就是构建 => 增加构建步骤 => 执行shell 填入你自己的构建和部署的命令 我这里拿我的hexo博客举例

    image

    现在如果提交代码到对应的分支,就会自动触发构建,如果构建成功,也就自动部署在你的网站上了。其实这里就是咱们配置生效了,github监听到咱们push后,利用webhook通知Jenkins:大爷来玩呀,Jenkins就会根据咱们的配置自动完成构建部署。

    image

    总结

    配置看似很繁琐,其实很简单,配置过一次,再配置第二次就是手到擒来,其他项目也是如此,如 vue +webpack类的,只是构建的shell命令不一样而已。还有,切记 rm -rf慎用慎用!233... o(╥﹏╥)o

    相关文章

      网友评论

          本文标题:Jenkins配合github实现前端项目自动化构建部署

          本文链接:https://www.haomeiwen.com/subject/sjfagftx.html