Jenkins结合shell脚本实现(gitLab/gitHub)前端项目自动打包部署服务器

时间:2022-02-26 21:30:16

 原始发布部署:

   石器时代的我们,先是本地打包好项目,在去服务器上把原来的文件删了,然后回到本地copy到服务器;

   这操看起来简单,实际部署的人就知道多烦了,假如来几个项目都要重新发布;那就爽了;

   今天小编分享个自动打包部署方法,Jenkins 上只要你的小鼠标轻轻一点就OK;

正文:

  首先是服务器上安装 Jenkins ;前提呢要现在服务器上安装Java 环境  因为他是依据Java 环境运行的;

  这里如何安装就不多说了,请参考这位哥们的博文 https://blog.csdn.net/running_shuai/article/details/80625822 基本在服务器上傻瓜式安装就行了;

安装后接下来是时候展现真正的技术了:

  注意: 部署前端项目还需要用到 git 以及 node.js ,java项目的话那就是maven了; git 的话;直接在服务器上下载 git 安装解压就行了,没什么好注意的;

      jenkins需要git插件来支持git,所以我们需要为jenkins添加Git 插件,还有node也是,需要NodeJS Plugin插件, gitLab需要GitLab Plugin,gitHub需要GitHub Plugin,总之需要的插件还蛮多  具体看你项目构成;

      下载插件的位置: 系统管理 --> 插件管理  然后就能看到很多插件了,下载下来就行

  1.1:配置一个 Publish over SSH (这是你的服务器,你项目要部署到的地方)

  Jenkins结合shell脚本实现(gitLab/gitHub)前端项目自动打包部署服务器

  1.2: 新建一个任务 (你要发布的项目)

  Jenkins结合shell脚本实现(gitLab/gitHub)前端项目自动打包部署服务器Jenkins结合shell脚本实现(gitLab/gitHub)前端项目自动打包部署服务器

  1.3: 配置gitLab / gitHub 源码

 Jenkins结合shell脚本实现(gitLab/gitHub)前端项目自动打包部署服务器

  Jenkins结合shell脚本实现(gitLab/gitHub)前端项目自动打包部署服务器

  1.4: 配置构建触发器

  Jenkins结合shell脚本实现(gitLab/gitHub)前端项目自动打包部署服务器

  1.5: 构建环境

  Jenkins结合shell脚本实现(gitLab/gitHub)前端项目自动打包部署服务器

  1.6: 配置构建命令 (就是些在服务器里要执行的命令)

Jenkins结合shell脚本实现(gitLab/gitHub)前端项目自动打包部署服务器

  1.7: 我公司项目因为多用的是一段shell脚本 去执行删除、解压等操作的, 这个可忽略,那上面 Exec command 部分你只需 改成加压命令就行  tar –xvf qipweb.tar  // 解压 tar包,再点击保存  理解构建就行了,还可以打开控制台输出看构建情况;  

  1.8: 用脚本执行的话:

#!/bin/sh
# chkconfig:2345 10 90
# description:qinlin
# processname:qinlin
# serviceName 对应的压缩包名字 export serviceName
=qipweb backupSuffix=`date +%Y%m%d%H%M%S` echo '当前服务器时间:'${backupSuffix} d_deploy() { echo '备份'${serviceName}'服务...' cp -r /qinlin/data/${serviceName} /qinlin/backup/${serviceName}-${backupSuffix} echo '删除'${serviceName}'安装包...' rm -rf /qinlin/data/${serviceName}/* echo '清除'${serviceName}'旧目录...' rm -rf /qinlin/deploy/dist/ echo '解压'${serviceName}'安装包...' tar -zxf /qinlin/deploy/${serviceName}.tar -C /qinlin/deploy/ echo '拷贝'${serviceName}'安装包...' cp -r /qinlin/deploy/dist/* /qinlin/data/${serviceName}/ cp /qinlin/config/MP_verify_0Ll9VrXDh67K2IPx.txt /qinlin/data/${serviceName}/ } case $1 in deploy) d_deploy ;; *) echo "require start|stop|restart|deploy" ;; esac

  注意: 用这个脚本的话需要在这脚本所在位置执行命令 chmod +x config-run_qipweb.sh  将这脚本变成可执行文件,到时他自己就可以执行了;

  1.9: 构建打包

Jenkins结合shell脚本实现(gitLab/gitHub)前端项目自动打包部署服务器

 

  Jenkins结合shell脚本实现(gitLab/gitHub)前端项目自动打包部署服务器Jenkins结合shell脚本实现(gitLab/gitHub)前端项目自动打包部署服务器

  Jenkins结合shell脚本实现(gitLab/gitHub)前端项目自动打包部署服务器

   结语: 有问题欢迎留言