Vik*_*nov 8 java ssh intellij-idea gradle spring-boot
我们的Spring Boot(带Gradle)应用程序具有托管在云中的上游.因此,当我们需要从本地计算机与它们进行通信时,我们使用SSH隧道在本地测试应用程序.
因此,通常,如果我需要测试需要来自受限区域的服务器的东西,我会执行以下操作:
1.使用ssh -N myhostcmd控制台启动SSH隧道
2.使用Soring Boot Run/Debug配置从Intellij Idea运行应用程序.
3.完成后关闭隧道(在命令行窗口中按Ctrl + C).
我的问题:
- 我可以直接从IntelliJ Idea中执行这些步骤,设置一些启动隧道的Run/Debug配置,运行应用程序,并在应用程序停止后关闭它吗?
- 我可以在Gradle中设置相同的内容,为隧道创建一些任务并运行它:
./gradlew startTunnel bootRun
提前致谢.
您可以尝试使用Gradle Spawn 插件,如此处所述
定义这些任务(-v需要该选项来匹配身份验证成功字符串):
import com.wiredforcode.gradle.spawn.*
task startSSHTunnel(type: SpawnProcessTask) {
command "ssh -N -v myhost"
ready 'Authentication succeeded' // this is printed by the SSH session's debug trace when connection has been successful
}
task stopSSHTunnel(type: KillProcessTask)
bootRun.finalizedBy stopSSHTunnel
Run Code Online (Sandbox Code Playgroud)
然后运行它:
./gradlew startSSHTunnel bootRun
Run Code Online (Sandbox Code Playgroud)
也许你需要进行一些调整,但主要精神就在这里。
| 归档时间: |
|
| 查看次数: |
315 次 |
| 最近记录: |