Туннель SSH в конфигурации Intellij Idea Run / Debug и в задачах Gradle - PullRequest
0 голосов
/ 05 декабря 2018

Наше приложение Spring Boot (с Gradle) имеет восходящие потоки, которые размещаются в облаке.Поэтому, когда нам нужно связаться с ними с локальной машины, мы используем SSH-туннели для локального тестирования приложения.

Итак, обычно, если мне нужно протестировать что-то, требующее сервера из зоны ограниченного доступа, я делаю следующее:
1. Запустите туннель SSH, используя ssh -N myhost из консоли cmd
2. Запуститеприложение из Intellij Idea с использованием конфигурации Soring Boot Run / Debug.
3. После завершения закройте туннель (Ctrl + C в окне командной строки).

Мои вопросы:
- Могу ли я выполнить эти шагинепосредственно из IntelliJ Idea, настройте конфигурацию Run / Debug, которая запустит туннель, запустит приложение и закроет его после того, как мое приложение будет мертвымзапустите его как:
./gradlew startTunnel bootRun

Заранее спасибо.

1 Ответ

0 голосов
/ 14 декабря 2018

Вы можете попробовать использовать плагин Gradle spawn , как описано здесь

Определить эти задачи (опция -v необходима для соответствия аутентификации string):

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

Возможно, вам придется настроить некоторые настройки, но основной дух здесь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...