原始发布部署:

   石器时代的我们,先是本地打包好项目,在去服务器上把原来的文件删了,然后回到本地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. App 基本图片配置(I)

    UITabBarController 的底部Item图片设置 分为三种: imageName@1x.png 图片像素(30 * 30) imageName@2x.png 图片像素(60 * 60) i ...

  2. 【JavaScript】for循环小练习

    1.输出1-100的和 var sum = 0; for(var i=1;i<=100;i++){ sum = sum + i; } document.write(sum); 2.输出1-100 ...

  3. WTForms

    一.简单介绍flask中的wtforms WTForms是一个支持多个web框架的form组件,主要用于对用户请求数据进行验证. 安装: pip3 install wtforms 用户登录简例: fr ...

  4. DDL、DML和DCL的区别与理解

    DML.DDL.DCL区别 . 总体解释: DML(data manipulation language): 它们是SELECT.UPDATE.INSERT.DELETE,就象它的名字一样,这4条命令 ...

  5. Python中的7种可调用对象

    Python中有七种可调用对象,可调用对象可使用内置函数callable来检测 一.用户自定义的函数: 使用def语句或者lambda表达式创建的函数. 二.内置函数: 使用C语言实现的函数,如len ...

  6. 中国省市县数据库sql文件(2017年10月31日之前)

    摘自国家统计局 sql文件下载地址:https://files.cnblogs.com/files/zxj95121/%E7%9C%81%E5%B8%82%E5%8E%BFsql.zip 2019.4 ...

  7. 7步快速解决SQLServer数据库(2008版)重装问题

    最近遇到了鼠标双击启动不了数据库的问题,根据事件管理器和自己的最近的使用情况初步判断估计是自己在用360误伤了数据库(哭) 没有办法只好重新安装一下了,参考了网上的一些大神们的教程然后自己实战操作一下 ...

  8. 开启text汇聚排序

    开启text汇聚排序 curl -X PUT "http://192.168.1.136:19200/hxl_test/_mapping/tb_test" -H 'Content- ...

  9. [pycocotools修改]cocoeval.py

    __author__ = 'tsungyi' import numpy as np import datetime import time from collections import defaul ...

  10. HTML DOM submit() 方法

    HTML DOM submit() 方法 HTML DOM Form 对象 定义和用法 submit() 方法把表单数据提交到 Web 服务器. 语法 formObject.submit() 说明 该 ...