zoukankan      html  css  js  c++  java
  • Jenkins结合shell脚本实现(gitLab/gitHub)前端项目自动打包部署服务器

     原始发布部署:

       石器时代的我们,先是本地打包好项目,在去服务器上把原来的文件删了,然后回到本地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 (这是你的服务器,你项目要部署到的地方)

      

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

      

      1.3: 配置gitLab / gitHub 源码

     

      

      1.4: 配置构建触发器

      

      1.5: 构建环境

      

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

      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: 构建打包

      

      

       结语: 有问题欢迎留言

        

  • 相关阅读:
    常见的分布式协议与算法【转】
    Linux的文件系统及文件缓存知识点整理【转】
    linux内核启动内核解压过程分析【转】
    Linux内核分析:Linux内核启动流程分析【转】
    Linux内核Ramdisk(initrd)机制【转】
    基于tiny4412的Linux内核移植 -- 设备树的展开【转】
    linux中RamDisk的三种实现方式【转】
    (十四)Linux kernel mmc 框架说明,包括mmc_test使用方法【转】
    ApplicationContext的初始化与销毁&Bean的生命周期&BeanPostProcessor的使用&Aware使用(四)
    Spring技术与内幕IoC实现(二)
  • 原文地址:https://www.cnblogs.com/ljx20180807/p/10439092.html
Copyright © 2011-2022 走看看