zoukankan      html  css  js  c++  java
  • 自动化部署脚本(windows上传到linux)

      挤了点时间出来学maven+springMVC,然后demo部署到服务器上。maven打包后部署到服务器上,重启tomcat。这个路线有点长,所以写个辅助脚本减少时间成本。现在记录一下。

      先介绍两个工具,PUTTY和WINSCP。

      PUTTY是一个不常用的,可以在windows平台通过ssh连接到linux的工具。好处是这个工具特别小,免安装。可是功能不强(语法高亮这点就够了)。所以并不常用。(常用的是secureCRT &xshell)然而,putty在windows平台可以通过命令行的形式执行。一般putty会作为脚本工具使用的。

      WINSCP是一个windows平台下,通过ssh协议复制东西到linux服务器的工具。也支持命令行的形式。

      脚本逻辑是这样的:

    • 打包
    • 打包结果上传到服务器
    • 服务器处理(部署、重启服务器)
    1、打包。
    例如maven打包,而且打包后不自动退出。(文件后缀是bat)
    call mvn clean package -U -Dmaven.test.skip=true

    2、上传到服务器。

    用winscp,执行脚本。参考如下:
    --打开控制台
    WinSCP.exe /script="E:eclipse_mars_workspacesingleBbsautoUpdateupdateLoadScript.sh"

    uploadLoadScript的内容参考:

    --连接服务器,上传文件
    open sftp://account:password@ip:port
    put E:eclipse_mars_workspacesingleBbs	argetsingleBbs.war
    exit

    put一个文件到用户下的根目录

     

    3、服务器上处理(替换、重启)

    在bat脚本中,通过putty登录,并且执行服务器脚本

    PUTTY.EXE -ssh -pw password account@ip -m serverScript.sh

    关闭tomcat,部署,启动tomcat。

    /root/tomcat7/tomcat7/bin/catalina.sh stop
    sleep 1
    rm /root/tomcat7/tomcat7/webapps/singleBbs.war
    rm -r /root/tomcat7/tomcat7/webapps/singleBbs
    cp ~/singleBbs.war /root/tomcat7/tomcat7/webapps/singleBbs.war
    /root/tomcat7/tomcat7/bin/catalina.sh start
    sleep 1
    rm ~/singleBbs.war
    exit
     

    后记

      一开始考我是虑用git的钩子实现。大概逻辑是:提交代码到git,git打标签的时候触发钩子从而打包、部署
      这样子做坏处是服务器要安装gitlab(钩子嘛),maven。好处是有版本策略可以跟踪代码部署的情况。其实,很多大厂都是这样方式实现的。不过作为个人开发、研发环境,还是通过复制的方式部署更轻量。
     
     
     
  • 相关阅读:
    Python学习笔记捌——面向对象高级编程
    Python学习笔记五,函数及其参数
    Python学习笔记四,dict和set
    Python学习笔记三,数组list和tuple
    Python学习笔记一,输入输出
    Linux 环境下自动化测试工具,Redhat dogtail的安装
    Testlink接口使用方法-python语言远程调用
    Python入门学习之input()与raw_input()的区别
    从客户端(&)中检测到有潜在危险的 Request.Path 值解决方案
    树莓派嵌入式开发第一课笔记
  • 原文地址:https://www.cnblogs.com/ELMND/p/4838257.html
Copyright © 2011-2022 走看看