8

우리의 Spring Boot (Gradle 포함) 애플리케이션은 클라우드에서 호스팅되는 업스트림을 가지고 있습니다. 따라서 로컬 시스템에서 이들과 통신해야 할 때 SSH 터널을 사용하여 로컬에서 응용 프로그램을 테스트합니다.

따라서 일반적으로 제한된 영역의 서버가 필요한 테스트를 수행해야하는 경우 다음을 수행합니다.

1. 다음을 사용하여 SSH 터널을 시작하십시오.ssh -N myhostcmd 콘솔에서

2. Sing Boot Run / Debug 구성을 사용하여 Intellij Idea에서 응용 프로그램을 실행하십시오.

3. 완료 후 터널을 닫으십시오 (명령 행 창에서 Ctrl + C).

내 질문 :

- IntelliJ Idea에서 직접 이러한 단계를 수행하고 터널을 시작하고 응용 프로그램을 실행하고 응용 프로그램이 종료 된 후 닫을 수있는 Run / Debug 구성을 설정 할 수 있습니까?

- Gradle에서 같은 것을 설정하고 터널링을위한 작업을 만들어 다음과 같이 실행할 수 있습니까?

./gradlew startTunnel bootRun

미리 감사드립니다.

1 답변


2

당신은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

어쩌면 당신은 약간 조정을해야 할 것입니다 그러나 주요 정신은 여기 있습니다.

관련된 질문

최근 질문