Docker의 Jooby (Kotlin × Gradle)를 핫 리로드하면서 IntelliJ에서 RemoteDebug
4388 단어 RemoteDebugjoobygradle도커Kotlin
1-하는 일
타이틀대로 Docker나 Intellij의 실행 구성을 포함한 전부 리포지토리는 이쪽
Github 저장소
2-완벽하지 않은 곳
・후술의 joobyRun을 실시한 후, RemoteDebug를 실행하지 않으면 핫 리로드가 움직이지 않습니다.
→뒤에서 port5005에 대한 접속 대기가 일어나고 있다? ?
· 브레이크 포인트에서 멈추는 동안 핫 리로드가 작동하지 않았습니다.
3-포인트
・Docker내의 JDK와 IntelliJ의 JDK는 맞추자!
→이 기사에서는 amazoncorretto:11로 모았습니다.
· docker-compose.yml : 환경에 환경 변수 GRADLE_OPTS를 지정
docker-compose.ymlversion: '3'
services:
app:
shm_size: 4096m
build: "./build/app"
ports:
- '8015:8080'
- '5005:5005'
volumes:
- "./app:/app"
environment:
TZ: 'Asia/Tokyo'
GRADLE_OPTS: '-Dorg.gradle.jvmargs=-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005'
working_dir: /app
cap_add:
- SYS_ADMIN
security_opt:
- seccomp:unconfined
tty: true
· IntelliJ에 docker-compose 용 실행 구성 작성
· RemoteDebug에 대한 실행 구성 만들기
Command line arguments for remote JVM의 내용이 앞서 설명한 「GRADLE_OPTS」와 이콜이 될 것
· docker-compose의 기동 구성을 실행 → 컨테이너 내부에서 joobyRun 실행
コマンド実行
./gradlew joobyRun
・RemoteDebug의 기동 구성을 실행 → 적당히 둔 브레이크 포인트를 통과하는 패스에 액세스
以下にアクセス
http://localhost:8015/
중단점에서 멈추다
소스를 수정하면 핫 리로드가 발생합니다.
※브레이크 포인트로 처리 정지시키고 있는 경우는 물론 효과가 없습니다. (중요하므로 두 번째)
4- 끝
· docker로 로컬을 더럽히지 않고 IntelliJ의 강력한 어시스트 +joobyRun에서의 핫 리로드 +RemoteDebug
LL언어 수준으로 고속으로 재컴파일되는 것은 아니지만, 이것으로 개발이 매우 편해집니다.
・후술의 joobyRun을 실시한 후, RemoteDebug를 실행하지 않으면 핫 리로드가 움직이지 않습니다.
→뒤에서 port5005에 대한 접속 대기가 일어나고 있다? ?
해결 방법으로 RemoteDebug가 필요하지 않은 경우 docker-compose.yml의 GRADLE_OPTS를 주석 처리하면됩니다.
Reference
이 문제에 관하여(Docker의 Jooby (Kotlin × Gradle)를 핫 리로드하면서 IntelliJ에서 RemoteDebug), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/P3117/items/0cbb92f94ae779a6d380
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
・후술의 joobyRun을 실시한 후, RemoteDebug를 실행하지 않으면 핫 리로드가 움직이지 않습니다.
→뒤에서 port5005에 대한 접속 대기가 일어나고 있다? ?
· 브레이크 포인트에서 멈추는 동안 핫 리로드가 작동하지 않았습니다.
3-포인트
・Docker내의 JDK와 IntelliJ의 JDK는 맞추자!
→이 기사에서는 amazoncorretto:11로 모았습니다.
· docker-compose.yml : 환경에 환경 변수 GRADLE_OPTS를 지정
docker-compose.ymlversion: '3'
services:
app:
shm_size: 4096m
build: "./build/app"
ports:
- '8015:8080'
- '5005:5005'
volumes:
- "./app:/app"
environment:
TZ: 'Asia/Tokyo'
GRADLE_OPTS: '-Dorg.gradle.jvmargs=-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005'
working_dir: /app
cap_add:
- SYS_ADMIN
security_opt:
- seccomp:unconfined
tty: true
· IntelliJ에 docker-compose 용 실행 구성 작성
· RemoteDebug에 대한 실행 구성 만들기
Command line arguments for remote JVM의 내용이 앞서 설명한 「GRADLE_OPTS」와 이콜이 될 것
· docker-compose의 기동 구성을 실행 → 컨테이너 내부에서 joobyRun 실행
コマンド実行
./gradlew joobyRun
・RemoteDebug의 기동 구성을 실행 → 적당히 둔 브레이크 포인트를 통과하는 패스에 액세스
以下にアクセス
http://localhost:8015/
중단점에서 멈추다
소스를 수정하면 핫 리로드가 발생합니다.
※브레이크 포인트로 처리 정지시키고 있는 경우는 물론 효과가 없습니다. (중요하므로 두 번째)
4- 끝
· docker로 로컬을 더럽히지 않고 IntelliJ의 강력한 어시스트 +joobyRun에서의 핫 리로드 +RemoteDebug
LL언어 수준으로 고속으로 재컴파일되는 것은 아니지만, 이것으로 개발이 매우 편해집니다.
・후술의 joobyRun을 실시한 후, RemoteDebug를 실행하지 않으면 핫 리로드가 움직이지 않습니다.
→뒤에서 port5005에 대한 접속 대기가 일어나고 있다? ?
해결 방법으로 RemoteDebug가 필요하지 않은 경우 docker-compose.yml의 GRADLE_OPTS를 주석 처리하면됩니다.
Reference
이 문제에 관하여(Docker의 Jooby (Kotlin × Gradle)를 핫 리로드하면서 IntelliJ에서 RemoteDebug), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/P3117/items/0cbb92f94ae779a6d380
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
version: '3'
services:
app:
shm_size: 4096m
build: "./build/app"
ports:
- '8015:8080'
- '5005:5005'
volumes:
- "./app:/app"
environment:
TZ: 'Asia/Tokyo'
GRADLE_OPTS: '-Dorg.gradle.jvmargs=-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005'
working_dir: /app
cap_add:
- SYS_ADMIN
security_opt:
- seccomp:unconfined
tty: true
コマンド実行
./gradlew joobyRun
以下にアクセス
http://localhost:8015/
· docker로 로컬을 더럽히지 않고 IntelliJ의 강력한 어시스트 +joobyRun에서의 핫 리로드 +RemoteDebug
LL언어 수준으로 고속으로 재컴파일되는 것은 아니지만, 이것으로 개발이 매우 편해집니다.
・후술의 joobyRun을 실시한 후, RemoteDebug를 실행하지 않으면 핫 리로드가 움직이지 않습니다.
→뒤에서 port5005에 대한 접속 대기가 일어나고 있다? ?
해결 방법으로 RemoteDebug가 필요하지 않은 경우 docker-compose.yml의 GRADLE_OPTS를 주석 처리하면됩니다.
Reference
이 문제에 관하여(Docker의 Jooby (Kotlin × Gradle)를 핫 리로드하면서 IntelliJ에서 RemoteDebug), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/P3117/items/0cbb92f94ae779a6d380텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)