当前位置:   article > 正文

关于windows中使用bat脚本一键发版到linux的自动化实现_如何把bat批处理程序版本发布到linux服务器,通过sftp协议

如何把bat批处理程序版本发布到linux服务器,通过sftp协议
由于之前用的mac系统, 直接写shell本地运行一键发版开发/测试/生产, 后公司配电脑后调试发版贼麻烦. 于是想着写一个bat脚本直接一键发版岂不美哉. 想到就做!

目标: 实现bat脚本一键去拉代码, 去打包, 传输到linux, 执行写好的shell脚本.


windows中需要一些exe程序来搭桥, 其中我用到了两个 plink.exe 和 pscp:
pscp : 可以连接拷贝文件到linux, 即我使用这个将前端vue的dist目录和后端jar包上传上去
plink.exe: 可以连接linux执行shell脚本, 即再服务器写一些启动脚本,用这个去调用
以上两个工具需要搜索下载,然后放到一个目录即可(很好找,请自行百度哈)

我写了两个bat, 第一个build_datam.bat即git本地操作拉代码和打包, 第二个start_datam_docker.bat传输和执行shell发版

// build_datam.bat    进入f盘 cd到项目路径, 执行git拉代码 和编译打jar包
f: 
cd projects
cd java
cd datamanagement-slave
set startDir=%cd% 
git pull origin master
mvn clean package
TIMEOUT /T 2


// start_datam_docker.bat 首先调用第一个bat, 然后调用shell删除原来运行的程序和jar包,传输新的jar包,并调用shell启动新的程序(我这里用到了docker,所以shell脚本名都含有docker,请忽略)
@echo off
echo start..........

call build_datam.bat


set passwd=g@)20
set name=data-manager-agent-0.0.1-SNAPSHOT.jar
set folder=F:\projects\java\data-manager-agent\target\

plink.exe -batch -pw %passwd%  root@datams cd /root/xings1/solfware/docker/;sh del_docker_jar.sh
pscp -r  -P 22 -pw %passwd% %folder%%name% root@datams:/root/xings1/solfware/docker/
plink.exe -batch -pw %passwd%  root@datams cd /root/xings1/solfware/docker/;source /etc/profile;sh docker.sh restart
echo end


  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30

总结

至此结束, 发版自己搭建的测试环境可以直接点一下bat就行了,
生产最好不要这样搞, 可以使用jekins等工具更方便.

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/736515
推荐阅读
相关标签
  

闽ICP备14008679号