51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

idea使用rsync快速部署ssh

步骤一 安装cygwin {#%E6%AD%A5%E9%AA%A4%E4%B8%80-%E5%AE%89%E8%A3%85cygwin}

安装下载cygwin,同时cygwin中下载rsync,openssh

步骤二 配置Run Targets {#%E6%AD%A5%E9%AA%A4%E4%BA%8C-%E9%85%8D%E7%BD%AErun-targets}

新增ssh Target

配置用户名密码/publicKey(指定本地私钥位置)如 id_rsa文件

注意: idea版本不同可能只支持 publickey,密码方式会报错

步骤三 配置rsync {#%E6%AD%A5%E9%AA%A4%E4%B8%89-%E9%85%8D%E7%BD%AErsync}

选择use rysnc

windows指定

rsync路径 C:\cygwin64\bin\rsync_idea.bat

ssh路径 C:\cygwin64\bin\ssh.exe

windows下同步linux可能出现 couldn't open file错误

原因:

windows同步的文件目录分隔符与linux不一致 \ 和 / 区别,导致同步过去的文件都被''单引号包裹

https://youtrack.jetbrains.com/issue/IJPL-62542/Remote-deployment-with-rsync-doesnt-preserve-folder-structure-uses-backslashes-in-file-names-from-Windows

修复:

新增脚本 rsync_ idea.ba t

  
   
* 
                          01
                        

   
* 
                          02
                        

  

                    
                      @ECHO OFF
if exist "fileList.txt" C:\cygwin64\bin\sed.exe -i 's:\\:\/:g' fileList.txt
C:\cygwin64\bin\rsync.exe %*
                    
                  

实际解决:

idea版本不一样,对应的fileList可能也不一样,工作目录也不一样,具体观察日志

xxx替换为用户名,当前版本idea2021.3

                      @ECHO OFF
echo %*
C:\cygwin64\bin\sed.exe -i 's:\\:\/:g' /cygdrive/C/Users/xxx/AppData/Local/Temp/fileList1.txt
`C:\cygwin64\bin\rsync.exe %*
`


赞(0)
未经允许不得转载:工具盒子 » idea使用rsync快速部署ssh