在这里插入图片描述

前言

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

在这里插入图片描述

ssh登陆Linux一般有两种形式
1.用户名和密码(每次登陆都需要输入密码)
2.用户名公钥

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

创建SSH Key

在windows下查看【c盘->用户->自己的用户名->.ssh】下是否有id_rsa、id_rsa.pub文件,如果没有需要手动生成

ssh-keygen -t rsa -C "youremail@xx.com"

-t 指定密钥类型,默认即 rsa ,可以省略
-C 设置注释文字,比如你的邮箱,可以省略

接着一路回车,如果想设置密码,自己可以设置一下,如果成功的话【c盘>用户>自己的用户名>.ssh】目录已经生成好了,里面包括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 test
cd ./build/libs
scp demo.jar username@ip:/opt/application/
cd ../../
@pause

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

参考博客

[1]https://cynickimi.github.io/2019/06/18/win-ssh-scp/
[2]

GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:23 天前 )
186a802e added ecosystem file for PM2 4 年前
5def40a3 Add host customization support for the NodeJS version 4 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐