우리의 Spring Boot (Gradle 포함) 애플리케이션은 클라우드에서 호스팅되는 업스트림을 가지고 있습니다. 따라서 로컬 시스템에서 이들과 통신해야 할 때 SSH 터널을 사용하여 로컬에서 응용 프로그램을 테스트합니다.
따라서 일반적으로 제한된 영역의 서버가 필요한 테스트를 수행해야하는 경우 다음을 수행합니다.
1. 다음을 사용하여 SSH 터널을 시작하십시오.ssh -N myhost
cmd 콘솔에서
2. Sing Boot Run / Debug 구성을 사용하여 Intellij Idea에서 응용 프로그램을 실행하십시오.
3. 완료 후 터널을 닫으십시오 (명령 행 창에서 Ctrl + C).
내 질문 :
- IntelliJ Idea에서 직접 이러한 단계를 수행하고 터널을 시작하고 응용 프로그램을 실행하고 응용 프로그램이 종료 된 후 닫을 수있는 Run / Debug 구성을 설정 할 수 있습니까?
- 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
어쩌면 당신은 약간 조정을해야 할 것입니다 그러나 주요 정신은 여기 있습니다.