为PHPStorm开发一个在内网通过SSH代理隧道实现一键代码同步功能的插件

写在前面:开发这个插件的背景是我所在的公司的测试环境的机器是不能够直接在本地通过SSH登陆上去的,需要先SSH登陆到一个跳板机上面,然后再跳板机上面SSH登陆到测试环境的机器上面。另外一个比较坑的地方就是测试环境的机器和代码仓库的网络是不通的,所以测试环境的代码部署是通过sz命令一个一个本地上传(对,压缩包都不能传),另外本地电脑的网络和测试环境完全隔离,测试是通过在测试机器上面发包实现。

讲道理,这是一种很笨拙的做法,但是由于公司网络限制,又没有办法。然而自从前段时间不小心看见了一片关于Xshell代理隧道实现内网访问的文章,下来仔细想了想,竟然可以通过这个方法来实现本地直接访问测试环境,发测试请求包等等。后来又想到可不可以写一个PHPStorm插件实现在编辑器右键然后可以在弹出菜单里面选择一个同步到测试环境或者从测试环境同步实现一键代码同步。

所以这篇文章主要会记录一下几个知识点:

  1. 三种SSH代理的区别和原理。
  2. jsch实现跳板机多次ssh登陆的原理。
  3. 基于jetbrains(phpstorm,idea,pycharm等)的IDE的插件开发介绍。
  4. 怎样实现用户可配置插件和怎样在插件中通过jsch实现SSH代理。
  5. 一些其他的坑。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,107评论 19 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,989评论 25 709
  • 沈文彬抬头看了看寝室的门牌号——605室。这将是他未来四年时光的家。 话说大学每个人在大学寝室里都会有排行,大多数...
    俗底阅读 645评论 2 4
  • 我想编个故事来骗钱。 假的太难编,真的没意思, 所以只好真真假假东拼西凑。 其实生活是最好的故事, 可是我没有生活...
    那只狐狸阅读 707评论 9 3
  • 带着一颗好奇的心,去探索属于你们的世界。 驴屋户外
    四块爸爸阅读 301评论 1 1