Jenkins 自动化部署前端项目
- 以前写项目的时候,每次发版情况都是前端项目打包部署,都是手动去运行命令,打包完,然后上传到服务器上,这种方式确实有点low,而且效率还很低、
- 自从用了Jenkins持续集成工具,写前端项目越来越工程化,再也不用担心忘记部署项目,也不用烦躁每次打包压缩后还要部署多个服务器和环境,更开心的是每次家里写完代码,不用远程公司部署项目,提交代码后自动会为你部署。
- Jenkins 是一个开源软件项目,是基于 Java 开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。
JenKins优势
- 开源免费
- 供大量的插件支持。
- 具备跨平台功能,支持所有的平台
- master/slave支持分布式的build
- 对于每个代码提交更改, 都会生成一个自动生成报告通知。
- 实现持续集成的敏捷开发和测试驱动的开发。
- 通过简单的步骤, 即可自动完成maven发布项目。
- 本次案例中华使用 Jenkins 来部署前端项目,使用 docker 安装 Jenkins,此过程需要自己安装好
- 直接在 Docker 仓库https://hub.docker.com/search?type=image里面搜jenkins
- 这里使用的是中国定制版本
docker pull jenkinszh/jenkins-zh
- 当我们安装完之后,运行命令
docker run -itd --name jenkins -p 8888:8080 -p 50000:50000 --restart always -e JAVA_OPTS=-Duser.timezone=Asia/Shanghai -v /usr/soft/jenkins_home:/var/jenkins_home -v /usr/local/maven/apache-maven-3.6.3:/usr/local/maven -v /etc/localtime:/etc/localtime jenkinszh/jenkins-zh
- 浏览器里面访问 IP+端口即可
配置 Jenkins
- 当我们在浏览器访问运行的时候,可以看到 Jenkins 当前自定义页面,这里面我们选择使用安装推荐插件形式安装
- 点击使用安装推荐插件时候,就可以看到新手入门这个页面。等他插件安装完成即可
- 这个时候我们登录我们的 Jenkins 了,如果没有账号的话,需要先去注册一下即可
- 等我们注册完,然后登录之后,就可以看到 JenKins 已就绪页面,然后我们点击开始使用
- 这个时候我们就可以看到当前 Jenkins 首页页面了,左边可以看的到新建 Item,用户列表,构建历史等菜单栏
- 点击新建 Item,就可以创建一个项目,输入任务名称,选择流水线,然后点击确认即可
- 在项目配置页面,进行一些源码配置管理,构建触发器,构建环境,构建等一下操作配置。
- shell 脚本
```js
#!/usr/bin/env bash
node -v
npm config set registry https://registry.npm.taobao.org --global
npm install
npm run build
rm -rf build.tar
tar -zcvf build.tar ./build
echo “完成”
```
- SSH 传送到服务器
```js
cd ./
tar xvf build.tar
mv -n build/* ./
rm -rf build.tar
rm -rf ./build
```
- git 仓库地址可以选择使用 github 或者码云作为仓库
- 所有配置项配置完成之后,就可以通过 Build with Parameters 进行打包
- 通过JenKins进行项目打包上传,一体化,每次写完项目,只需要把项目上传到仓库,然后在JenKins创建好关联想项目,选择对应的版本进行打包,方便快捷。