Bat脚本实现项目发版

学习目标:

服务器有问题,Jenkins暂时用不了,手动发版太麻烦,刚好学习一下脚本怎么写,开始

学习内容:

通过脚本实现自动发版

步骤:

  1. 指令服务路径,服务名
  2. 更新maven依赖并打包
  3. 上传至服务
  4. 命令启动

参考:

@echo off

echo "打包.."

rem 指定服务名
set service = serviceName

rem 指定项目路径
set folder_resources = E:\projectTest\

rem 项目路径下的相对服务路径
set folder_path=modules\modules-*\

e:
cd %folder_resources%
cd %folder_path%
cd %service%
call mvn clean install -Dmaven.test.skip=true

rem 服务器IP
set ip=*.*.*.*
rem 服务器密码
set password=*

rem jar包文件名
set file=%service%-1.0.0-RELEASE.jar


rem 远程上传jar包
pscp -pw %password% %folder_resources%%folder_path%%service%\target\%file% root@%ip%:/usr/local/%service%/source

rem 远程启动
plink -l root -pw %password% %ip% /usr/local/%service%/jenkins-start.sh

@cmd.exe
exist

学习总结

学习两条命令

pscp是putty安装包所带的远程文件传输工具,是一款十分常见windows与linux系统之间文件互传的工具,使用方法与linux中的scp相似.比scp的好处是写脚本时不用手动输入密码,
putty官网下载

pscp -pw 12345678 C:\Users\Firmi\Desktop\test.txt  [email protected]:/root/ 
pscp -pw 密码 文件路径  用户名@IP:服务器文件地址
    -p 拷贝文件的时候保留源文件建立的时间。
    -q 执行文件拷贝时,不显示任何提示消息。
    -r 拷贝整个目录
    -v 拷贝文件时,显示提示信息。

Usage:
  pscp [options] [user@]host:source target
  pscp [options] source [source...] [user@]host
  pscp [options] -ls user@host:filespec

用法:
  pscp [选项] [用户名@]主机:源文件 目标文件
  pscp [选项] 源文件 [源文件……] [用户名@]主机
  pscp [选项] -ls 用户名@主机:文件空间?


Options:
选项:
  -p preserve file attributes 保护文件属性
  -q quiet, don't show statistics 安静,不显示统计
  -r copy directories recursively 复制子文件夹
  -V print version information and exit 显示信息
  -v show verbose messages
  -load sessname Load settings from saved session
  -load 加载,加载保存节的设定
  -P port connect to specified port
  -P 端口,连接到指定空间端口
  -l user connect with specified username
  -l 用户,用指定的用户连接空间
  -pw passw login with specified password
  -pw 密码,用指定的密码登录空间
  -1/-2 强迫 ssh 使用的版本
  -4 -6 force use of IPv4 or IPv6
  -C 打开压缩
  -i key 钥匙,证明用的钥匙文件
  -batch 关闭交互能力,也许
  -unsafe 不安全,允许伺服端取代字符 (危险的)

plink

plink -l root -pw %password% %ip% /usr/local/%service%/jenkins-start.sh
plink -l 角色 -pw 密码 IP 脚本路径

更多参数: plink --help

你可能感兴趣的:(linux,运维,服务器)