从零搭建项目(13) — 部署: 使用jenkins自动化部署
我的博客地址
正式地址
演示网站
前台源码
后台源码
文章目录
- 项目及其技术栈详情
- 前台: 项目初始化
- 前台: 使用Sass和Antd
- 前台: 开发体验优化
- 前台: 搭建路由和状态管理
- 前台: 支持Axios
- 前台: 打包与环境变量设置
- 前台: 团队代码规范
- 后台: 项目初始化和使用Koa相关
- 后台: 使用TypeORM和MySQL
- 部署: 使用nginx部署前台项目
- 部署: 后台部署
- 部署: 使用jenkins自动化部署
前言
这篇文章将是从零搭建博客系列的最后一篇,将会详情jenkins的安装以及配合github webhook进行前后台项目的自动化部署,主要内容如下:
- 安装jenkins
- 配置jenkins和github webhook
安装jenkins
安装jenkins之前,首先看看他的配置需求:
image.png
基本上腾讯云的学生机都可以跑起来。
安装openjdk-8-jdk
jenkins依赖于java的openjdk,所以安装之前先安装openjdk-8-jdk。
首先输入sudo add-apt-repository ppa:openjdk-r/ppa将仓库增加进来,这里需要注意的是,执行这个命令的时候会提醒需要按一下回车。
之后sudo apt update升级源。
最后输入echo y|sudo apt-get install openjdk-8-jdk,稍等片刻安装完毕后。
输入java -version查看版本,假如有下面的输出,则表明安装完毕:
image.png安装jenkins
安装完openjdk-8-jdk之后,直接复制运行下面的代码下载并安装jenkins,这个安装的时间可能会比较长:
wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key | sudo apt-key add -sudo sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'sudo apt-get updateecho y|sudo apt-get install jenkins安装完毕后他会自动退出进程:
image.png
之后输入sudo service jenkins start开启jenkins,jenkins相关命令如下:sudo service jenkins start|stop|restart
而后我们在浏览器中输入服务器ip:8080,jenkins默认监听8080端口,稍等一会后会进入到该页面:
image.png
注意: jenkins有可能由于防火墙跑不起来,这时候可以输入sudo ufw allow 8080开放指定的端口,腾讯云的防火墙默认是关闭的,所以不存在这个问题。
jenkins初始化配置
根据提醒需要输入一个密码,这个密码所在的文本就是上图中提醒的路径,我们将它拷贝出来并输入进去点击继续:
image.png之后点击安装推荐插件就可,之后继续等待,假如很多插件安装失败,请点击重试:
image.png
完成后我们创立一个管理员账号:
image.png
保存完成后即可以进入到jenkins操作界面了,该阶段即算完成。
image.png
配置jenkins和github webhook
这一节详情如何将github与jenkins连接起来,详情只以前台项目为例,由于前后台配置是一样的。
生成github personal access token
我们进入到github中,点击头像,选择setting:
image.png
而后点击Developer Setting:
image.png
之后点击personal access token:
image.png
点击生成token按钮:
image.png
之后按照下面的截图填写名字,勾选repo和admin:repo_hook选项,而后点击生成:
image.png
接下来会生成一个token,这个token务必用软件记下来,由于后面再回来找是找不到的了:
image.png新建webhook
上述完成后我们去到要部署的项目中,比方我的就是test项目:
image.png点击setting -> webhooks:
image.png
点击add webhook,而后按照下图填写信息,而后点击增加:
image.png设置jenkins
之后我们来到jenkins页面,点击增加新项目:
image.png
填写完名字后,选择创立一个自由风格项目,而后确定:
image.png
接着去到jenkins自己的系统管理界面:
image.png
image.png
在github项点击增加github服务器:
image.png
image.png
而后输入名称,点击增加按钮增加jenkins凭证:
image.png
之后再弹出框中填写如下,之后点击确定:
image.png
而后在下拉框中选择你刚才填写的形容项,并勾上管理hook按钮:
image.png
点击连接测试,出现如下即为成功,点击底下的保存后退出:
image.png
我们回到刚才新建的项目中,点进去配置页面:
image.png
image.png
第一项General勾选github项目,并将项目地址填进去:
image.png
第二项源码管理:
image.png
假如上面的Credentials没有选项,点击增加按钮选择jenkins,在弹出框中填写如下图,增加完毕后在点下拉框应该就要选项了:
image.png
第三项构建触发器选项:
image.png
第四项构建环建中选择该项:
image.png
之后下面会出现一个绑定项,点击新添加,选择secret text:
image.png
而后选择之前填写的标识:
image.png
第五项构建选择执行shell,这个shell是在你的项目上传到github,github通知给jenkins之后执行的脚本:
image.png
比方下面一个简单的shell脚本:
安装依赖 -> build出静态文件 -> 将静态文件移到目标目录:
image.png
编辑完成后点击保存按钮。
验证成果
之后我们在前台中增加一行字,而后push到github上:
image.png
再来到jenkins中查看,你会发现项目开始自动部署了:
image.png
你可以点击进度条查看部署进度:
image.png
等待部署完成后,刷新页面,最新的效果就出来了:
image.png
后台部署的方式和前台相似,在这里就不做赘述了,大家也可以自己实践一下。
后记
从零搭建项目系列到这里就结束了,本打算再通过一篇文章写写把前台资源弄到cdn上去,但迫于目前已经没有已备案域名,所以这一步只能往后延,等以后有心思了再补上。
也希望大家能够提出意见帮助我调整文章内容,使其更易懂,帮到更多的人。
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » 从零搭建项目(13) — 部署: 使用jenkins自动化部署