私たちのSpring Boot(Gradle付き)アプリケーションには、クラウドでホストされているアップストリームがあります。したがって、ローカルマシンからそれらと通信する必要がある場合は、SSHトンネルを使用してアプリケーションをローカルでテストします。
したがって、通常、制限されたゾーンのサーバーが必要なものをテストする必要がある場合は、次のようにします。
1. SSHトンネルを開始するssh -N myhost
cmdコンソールから
2. Sing Boot Run / Debug設定を使用してIntellij Ideaからアプリケーションを実行します。
3.終了後、トンネルを閉じる(コマンドラインウィンドウでCtrl + C)。
私の質問:
- IntelliJ Ideaから直接これらのステップを実行して、トンネルを起動し、アプリケーションを実行し、アプリケーションが停止した後で閉じる、実行/デバッグ設定をいくつか設定することはできますか?
- Gradleで同じことをセットアップし、トンネリングのためのタスクを作成して、次のように実行できますか:
./gradlew startTunnel bootRun
前もって感謝します。
あなたはGradle spawn Plugin説明したようなここに
これらのタスクを定義する(-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
そしてそれを実行してください:
./gradlew startSSHTunnel bootRun
たぶんあなたはいくつかの調整をしなければならないかもしれませんが、主な精神はここにあります。