一、本机脚本(基于mac)

#!/bin/sh
 
if [ $# -lt 1 ]; then
 echo "deploy.sh <version number>"
 exit 0
fi

cd /Volumes/z-vm-svn/Work/WebProjectName/WebRoot
zip -r WebProjectName.zip .

auto_scp_mzip(){
    expect -c "set timeout -1;
    spawn scp WebProjectName.zip root@192.168.1.38:/tmp;
    expect {
        *(yes/no)* {send yes\r;exp_continue;}
        *assword:* {send passwordxxx\r;exp_continue;}
        eof {exit 0;}
    }";
}

auto_scp_mzip

#执行测试环境脚本
auto_ssh_exec(){
    expect -c "set timeout -1;
    spawn ssh root@192.168.1.38 ~/test138.sh $1 2>&1
    expect {
        *(yes/no)* {send yes\r;exp_continue;}
        *assword:* {send passwordxxx\r;exp_continue;}
        eof {exit 0;}
    }";
}

auto_ssh_exec $1

二、测试环境脚本test138.sh(按需修改)

#!/bin/bash

if [ $# -lt 1 ]; then
 echo "test138.sh <version number>"
 exit 0
fi

cd /data/WebProjectName

#备份
time=$(date +%Y%m%d%H%M%S)
cmd_mk=$(mkdir -p ~/WebProjectName/m_$time)
echo $cmd_mk
cmd_cp=$(cp -r m/ ~/WebProjectName/m_$time)
echo $cmd_cp

rm -rf WebProjectName/ WebProjectName.zip

#更新
cp /tmp/WebProjectName.zip .
unzip WebProjectName.zip >>/tmp/WebProjectName_update.log

#版本修改
sed -i  's/_sysVersion = \"1.0...\"/_sysVersion = \"1.1.'$1'\"/g'  index.html

echo "Version value is $1"

三、调用脚本

./deploy.sh 20190715001

一键布署WEB应用脚本的更多相关文章

  1. 在公网上布署Web Api的时候,不能调用,返回404

    在internet上布署web API做的站点时,发现不能调用web api的任何action, 返回404. 经过很多的努力,也找不到原因,环境是win server 2008, IIS 75. n ...

  2. ansible+packer+terraform在aws上布署web服务器

    各工具所扮演的角色 ansible: 配合packer生成安装有apache的基础镜像 packer: 生成amazon AMI terraform: 以packer生成的镜像为基础,布署web服务器 ...

  3. Ubuntu 16.04环境布署小记

    本系列文章记录了升级Ubuntu 16.04的布署过程 回到目录 10. 安装Mono, Xsp 当前版本16.04.1的系统源的Mono版本为4.2.1,如需使用最新版本(本文书写时稳定版本为4.6 ...

  4. 布署配置管理中心apollo

    Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境.不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限.流程治理等特性,适用于微服务配置管理场景. 服 ...

  5. 通过Jenkins在IIS上布署站点

    当需要在多台服务器的IIS上布署站点时,如果纯粹靠人工手动完成此任务的话,过于低效,而借助Jenkins之类的自动化工具,则可以极大提升工作效率. 以下便是Jenkins Pipeline所使用的脚本 ...

  6. 第一篇【Zabbix服务端的完整布署】

    1.环境准备 服务器版本: [root@filestore-v2 ~]# cat /etc/redhat-release CentOS Linux release (Core) 内核版本: [root ...

  7. 学习Linux系列--布署常用服务

    本系列文章记录了个人学习过程的点点滴滴. 回到目录 10.mediawiki 知名开源维基框架,我用来构建自己的知识库. 在mediawiki中新建一个http.conf文件 sudo vim /op ...

  8. Hadoop学习笔记1-如何简单布署hadoop

    企业机型配置: 选型标准:普通的,廉价的,标准的(容易替换的),工业化大规模生产的 CPU:支持多核CPU,如2个4核CPU 内存:16G以上,内存越大,常用数据都缓存在内存,提高速度 硬盘:不需RA ...

  9. IIS6.0中布署MVC站点(转)

    昨晚我写的API上线,API是vs2010 + MVC4开发的,需要布署到windows 2003 server + IIS6.0的环境中,之前一直是布在IIS7.0,比较熟悉, 换到IIS6.0,添 ...

随机推荐

  1. HttpWebRequest 在出错时获取response内容

    HttpWebRequest 请求时,服务器会返回500  501这些错误 并包含错误信息,通过如下代码可以拿到错误信息 HttpWebResponse res; try { res = (HttpW ...

  2. Spring之基于注解的注入

    对于DI使用注解,将不再需要在Spring配置文件中声明Bean实例.Spring中使用注解,需要在原有Spring运行环境基础上再做一些改变,完成以下三个步骤. (1)导入AOP的Jar包.因为注解 ...

  3. Nginx+Keepalived部署流程

    环境介绍 1)LB01 Hostname:lb01.example.com VIP:192.168.3.33(eth0:0) IP:192.168.3.31(eth0) OS:Centos 7 2)L ...

  4. spring 5.x 系列第5篇 —— 整合 mybatis + druid 连接池 (xml配置方式)

    源码Gitub地址:https://github.com/heibaiying/spring-samples-for-all 项目目录结构 1.创建maven工程,除了Spring基本依赖外,还需要导 ...

  5. 【设计模式】结构型05组合模式(Composite Pattern)

    组合模式(Composite Pattern) 意图:将对象组合成树形结构以表示"部分-整体"的层次结构.组合模式使得用户对单个对象和组合对象的使用具有一致性. 主要解决:它在我们 ...

  6. Java8新特性——lambda表达式.(案例:公司业务)

    需求:现有一个员工姓名list,其中包含单字母索引.要求输出一个字符串,去掉所有单字母,所有名字首字母大写并用逗号隔开. package cn._2.thecompanyprocess; import ...

  7. Google Chrome浏览器插件入门开发

    --1. 在html文件中引用js 文件 --2.在Google Chrome中开发简单插件 1.首先,简单说明一下在html 中引用js 文件: 将kittenbook.html 和 kittenb ...

  8. Node.js实现PC端类微信聊天软件(五)

    Github StackChat 学习回顾 Socket.io 结合Express创建Socket.io服务器 const app = require('express')() const http ...

  9. BZOJ 1061:志愿者招募(单纯型)

    题目链接 题意 中文题意. 思路 单纯型模板题. 单纯型用来解决线性规划问题. 留坑待填. 算法思路 好长 模板 论文 卿学姐视频 #include <bits/stdc++.h> usi ...

  10. django基础知识之定义视图:

    定义视图 本质就是一个函数 视图的参数 一个HttpRequest实例 通过正则表达式组获取的位置参数 通过正则表达式组获得的关键字参数 在应用目录下默认有views.py文件,一般视图都定义在这个文 ...