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

简介:

前言

大家以前写前端项目部署,可能都是手动运行命令,打包完,然后压缩,再利用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

选择 Personal access tokens -> Generate new token

勾选如下配置

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

配置Jenkins

进入系统管理 => 管理插件 => 安装插件 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

目录
相关文章
|
13天前
|
开发工具 git 开发者
2024最简七步完成 将本地项目提交到github仓库方法
该文章提供了一个简洁的七步教程,指导用户如何将本地项目提交到GitHub仓库。
2024最简七步完成 将本地项目提交到github仓库方法
|
12天前
|
Rust 前端开发 JavaScript
Github 2024-05-20 开源项目周报 Top15
根据Github Trendings的统计,2024年5月20日当周共有15个项目上榜。按开发语言分类,项目数量如下:Python项目5个,TypeScript项目3个,C++项目2个,Jupyter Notebook项目2个,C、Go、Rust和C#项目各1个。介绍了多个值得关注的项目,包括ChatGPT桌面应用程序、Fooocus图像生成软件、Jellyfin媒体系统等。这些项目涵盖了多种功能和技术领域,值得关注和研究。
29 3
|
12天前
|
SQL JavaScript 前端开发
Github 2024-08-05 开源项目周报 Top15
根据 Github Trendings 的统计,本周(2024年8月5日统计)共有15个项目上榜。以下是根据开发语言汇总的项目数量: - Go 项目:4个 - JavaScript 项目:3个 - Python 项目:3个 - Java 项目:2个 - TypeScript 项目:2个 - C 项目:1个 - Shell 项目:1个 - Dockerfile 项目:1个 - 非开发语言项目:1个
20 2
|
12天前
|
人工智能 Rust JavaScript
Github 2024-08-26 开源项目周报Top15
根据Github Trendings的统计,本周共有15个项目上榜。以下是按开发语言汇总的项目数量:Python项目8个,TypeScript、C++ 和 Rust 项目各2个,Jupyter Notebook、Shell、Swift 和 Dart 项目各1个。其中,RustDesk 是一款用 Rust 编写的开源远程桌面软件,可作为 TeamViewer 的替代品;Whisper 是一个通用的语音识别模型,基于大规模音频数据集训练而成;初学者的生成式人工智能(第2版)则是由微软提供的18门课程,教授构建生成式AI应用所需的知识。
46 1
|
12天前
|
Rust Dart 前端开发
Github 2024-08-19 开源项目周报Top15
根据Github Trendings的统计,本周(2024年8月19日统计)共有15个项目上榜。按开发语言分类,上榜项目数量如下:Python项目最多,有7项;其次是JavaScript和TypeScript,各有3项;Dart有2项;HTML、PowerShell、Clojure和C++各1项。此外,还介绍了多个热门项目,包括Bootstrap 5、RustDesk、ComfyUI、易采集、Penpot等,涵盖了Web开发、远程桌面、自动化测试、设计工具等多个领域。
50 1
|
12天前
|
JavaScript 前端开发 Go
Github 2024-08-12 开源项目周报 Top14
本周Github Trendings共有14个项目上榜,按开发语言汇总如下:Python项目7个,TypeScript项目5个,C项目2个,JavaScript项目2个,Go和Batchfile项目各1个。其中亮点包括开发者职业成长指南、Windows激活工具、ComfyUI图形界面、AFFiNE知识库、易采集可视化爬虫等项目,涵盖多种实用工具和开源平台。
40 1
|
12天前
|
存储 JavaScript 前端开发
Github 2024-07-29 开源项目周报Top15
根据 Github Trendings 的统计,本周(2024年7月29日统计)共有15个项目上榜。按开发语言分类,项目数量如下:Python、Java、HTML 和 C 项目各有2项;TypeScript、JavaScript、Vue 和 Go 各有1项;另有1项非特定语言项目、1项 Dart 项目、1项 C++ 项目、1项 Rust 项目及1项 Jupyter Notebook 项目。这些项目涵盖了多种领域,如API开发、照片管理、PDF处理、AI技术等。
27 1
|
12天前
|
Rust JavaScript 前端开发
Github 2024-07-15 开源项目周报 Top15
根据 Github Trendings 的统计,2024年7月15日当周共有15个项目上榜。以下是按开发语言分类的项目数量汇总:Python项目5个,非开发语言项目4个,JavaScript项目3个,TypeScript项目2个,Go、Solidity和Java项目各1个,Rust项目1个。此外,介绍了多个值得关注的项目,包括免费编程学习平台 freeCodeCamp.org、免费编程书籍和学习资源清单、免费 API 集合等,涵盖了不同编程语言和技术领域。
30 1
|
12天前
|
人工智能 JavaScript API
Github 2024-07-08 开源项目周报 Top15
根据Github Trendings的统计,本周(2024年7月8日统计)共有15个项目上榜。按开发语言分类,Python项目最多,有6项;其次是C++和TypeScript,各有3项;Jupyter Notebook和JavaScript各2项;QML、非开发语言项目、Rust则各有1项。这些项目涵盖了多种领域,包括编程教育、API集合、语言模型、十六进制编辑器等。
30 1
|
12天前
|
人工智能 JavaScript Shell
Github 2024-06-10开源项目周报 Top15
根据Github Trendings的统计,本周(2024年6月10日统计)共有15个项目上榜。按开发语言分类,上榜项目数量如下:Python 8项,Jupyter Notebook 和 Go 各2项,C++、Shell、Lua 和 JavaScript 各1项。亮点项目包括Python-100天从新手到大师、Syncthing开源同步工具、初学者的生成式人工智能(第2版)等。这些项目涵盖了代码教育、文件同步、数据分析等多个领域。
30 1

热门文章

最新文章

下一篇
DDNS