原始发布部署:

   石器时代的我们,先是本地打包好项目,在去服务器上把原来的文件删了,然后回到本地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:
# 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)前端项目自动打包部署服务器的更多相关文章

  1. DevOps系列——Jenkins/Gitlab自动打包部署

    前面只说了DevOps的两个基础组件Jenkins和GitLab,客官也不要着急,我们玩就玩的深入一点,Gitlab和Jenkins的各种配置和 插件很多,也够啃一阵子的,不要照着操作一通就感觉万事大 ...

  2. 解放双手 | Jenkins + gitlab + maven 自动打包部署项目

    前言 记录 Jenkins + gitlab + maven 自动打包部署后端项目详细过程! 需求背景 不会偷懒的程序员不是好码农,传统的项目部署,有时候采用本地手动打包,再通过ssh传到服务器部署运 ...

  3. Github前端项目排名

      Github前端项目排名(2016-04-04) 一.前言 近几年前端技术日新月异,从 RequireJS 到 AngularJS 再到 React,似乎每天都有新的技术诞生.而大神们总能第一时间 ...

  4. Shell脚本,自动化发布tomcat项目【转载】

    Shell脚本,自动化发布tomcat项目脚本. 1. vko2c_auto_build_by_scp.sh 文件内容: #---------------------start------------ ...

  5. Shell脚本,自动化发布tomcat项目【转】

    Shell脚本,自动化发布tomcat项目脚本. 1. vko2c_auto_build_by_scp.sh 文件内容: #---------------------start------------ ...

  6. jenkins中shell脚本编写的两个注意点

    在jenkins的build中,如果用shell脚本的话,要记住有两个地方要注意 1.由于默认jenkins是使用/bin/bash -xe xxx.sh来调用脚本的,所以不同于日常写的脚本,任何一行 ...

  7. 解决Jenkins用shell脚本部署后,Jenkins自动杀掉启衍生出来的守护进程

    Jenkins部署java项目遇到的问题: 1.Jenkins执行构建后,需要手动执行startup.sh,站点才能正常访问 产生原因: shell脚本发布时,会衍生进程,Jenkins默认会自动杀掉 ...

  8. jenkins调用shell脚本 输出带颜色字体

    jenkins需要安装AnsiColor插件在构建环境项选择“color ansi console output” 安装插件AnsiColor shell 脚本相关颜色设置 echo -e " ...

  9. 使用jenkins进行前端项目自动部署

    前面的话 后端的nodeJS项目可以使用pm2进行自动部署,由于前端项目打包后是静态资源,不需要进程守护.一般地,前端项目使用jenkins来进行自动部署,包括打包.测试等一系列流程.本文将详细介绍j ...

随机推荐

  1. C#导出文本内容到word文档源码

    将做工程过程中较好的代码片段珍藏起来,下面的代码内容是关于C#导出文本内容到word文档的代码,希望能对小伙伴们也有好处.<%@ Page Language="C#" Aut ...

  2. Win10环境下 HTTP 错误 500.19 - Internal Server Error 问题及其解决方法

    记一下今日份小bug... 明天要做软件架构实验了,今天打算测试下运行web项目,于是乎,找出了以前用JSP写的web项目测试运行不了,我再打开浏览器测试Tomcat服务器,在地址栏键入http:// ...

  3. webservice接口的开发和调用

    一.WebService的开发手段 使用Java开发WebService时可以使用以下两种开发手段 1. 使用JDK开发(1.6及以上版本) 2.使用CXF框架开发(工作中) 二.使用JDK开发Web ...

  4. minSdkVersion

    10   It is indeed possible to increase minSdkVersion, but it took me way too much time to find it ou ...

  5. vue 引入iconfont字体库

    1.登录官网 https://www.iconfont.cn/ 2.选择所需要的图标加入图库 新建项目 选择fontClass 并下载到本地   目录如下 3.项目 assets目录下 新建  ico ...

  6. Thuwc 2019 & wc 2019 划水记

    (此处不应有目录,爆零的过程应该慢慢看) Thuwc 2019 拖着箱子去广二,然后发现可以搬出去住酒店.好,然后箱子白搬了.Joker似乎说住宿体验极差,广二宿舍和林荫宿舍质量不相上下,想想wc时要 ...

  7. ThreadLocal的意义和实现

    可以想像,如果一个对象的可变的变量被多个线程访问时,必然是不安全的. 在单线程应用可能会维持一个全局的数据库连接,并在程序启动时初始化这个连接对象,从而避免在调用每个方法时都传递一个Connectio ...

  8. java知识点集锦--基础知识部分

    1.面向对象特征:封装.继承.多态 封装:把数据和操作数据的方法绑定起来,对数据的访问只能通过已定义的接口来访问.面向对象的本质就是将现实世界描绘成一系列完全自治.封闭的对象.我们在类中编写的方法就是 ...

  9. 垂直对齐:vertical-align:super属性

    <p style=”vertical-align:super;”>垂直对齐<span>上标</span></p> <p>元素默认为块级元素, ...

  10. C#File类常用文件操作以及一个模拟的控制台文件管理系统

    重温一下C#中File类的一些基本操作: File类,是一个静态类,主要是来提供一些函数库用的. 使用时需要引入System.IO命名空间. 一.常用操作: 1.创建文件方法 //参数1:要创建的文件 ...