一个脚本直接将本地代码部署测试环境,工作效率超高

前言

最近写了一个微服务项目,本地调试很麻烦,每次修改一部分都得把代码提交到仓库,再用Jenkins编译。整个流程感觉有点慢,想着改完代码执行一个脚本,直接编译并且将jar包发布到测试环境上。幸运的是win10已经支持ssh和scp命令了,所以我可以用scp命令来实现我的想法了,无图无真相

ssh登陆Linux一般有两种形式

1.用户名和密码(每次登陆都需要输入密码)

2.用户名公钥

使用ssh和scp命令的前提是你本地的公钥配置在服务器上的authorized_keys文件中,过程如下。

创建SSH Key

在windows下查看下是否有id_rsa、id_rsa.pub文件,如果没有需要手动生成

ssh-keygen -t rsa -C "youremail@xx.com"-t 指定密钥类型,默认即 rsa ,可以省略-C 设置注释文字,比如你的邮箱,可以省略

接着一路回车,如果想设置密码,自己可以设置一下,如果成功的话目录已经生成好了,里面包括id_rsa(私钥)、id_rsa.pub(公钥)

把公钥追加在Linux服务器上的~/.ssh/authorized_keys的文件中即可通过公钥登陆

SSH

命令格式如下,可以不指定端口,默认为22

ssh -p <端口> <用户名>@<IP地址>

SCP

命令格式如下,可以不指定端口,默认为22

scp -P <端口> <filename> <用户名>@<IP地址>:<目标目录>

我直接写了一个bat脚本,每次改完代码执行脚本,编译打包发布一气呵成,scp命令传输文件很快。

deploy.bat

call gradle build -x testcd ./build/libsscp demo.jar username@ip:/opt/application/cd ../../@pause

gradle build -x test 这是gradle打包命令,你可以类比为maven的mvn clean package -DskipTests=true

声明:本站部分文章内容及图片转载于互联 、内容不代表本站观点,如有内容涉及侵权,请您立即联系本站处理,非常感谢!

(0)
上一篇 2019年9月2日
下一篇 2019年9月2日

相关推荐