본문 바로가기

Cloud Platform/Google Cloud Platform

google app engine + jrebel

여러가지 방법이 있다고 하지만 대부분 잘 안됨.. STS(Eclipse) 가 먹통이 된다던지.. 컨테이너가 제대로 종료 되지 않는다던지..

현재까지는(2017.11) Run Configurations.. 에는 제대로 적용이 않됨. 컨테이너 종료하면 정상 종료가 안되고 좀비 프로세스가 남아있다

hot deploy 도 정상적으로 안되고.. 


그런데 Debug Configurations.. 설정하고 Debug As -> App Engine 하면

hot deploy 도 정상적으로 되고, 컨테이너 종료도 잘된다 ^^


아래 설정을 Run 과 Debug 모두 동일하게 하고 사용해 보시길...


설정1.

1. 아래 주소에서 말하는 내용은 jrebel 버전이 7이상이면 -agentpath:C:/JRebel/lib/jrebel64.dll 를 사용하라고 한다.

   7미만 이면 -javaagent 를 사용하라고 한다.

https://zeroturnaround.com/software/jrebel/jrebel7-agent-upgrade-cli/


1.1 Package Explorer -> context menu -> Run As -> Run Configurations.. -> App Engine Local Server -> context menu -> New


1.2 Arguments 탭 -> VM arguments 에 -agentpath:C:/JRebel/lib/jrebel64.dll 를 입력

여기서 C:/JRebel/lib/jrebel64.dll 은 jrebel 의 위치이다. 필자의 경우는 STS 의 플러그인으로 설치하여 사용하고 있으므로 

위치는 아래와 같다.

-agentpath:D:\Dev\Install\Spring\sts-3.8.1\sts-bundle\sts-3.8.1.RELEASE\plugins\org.zeroturnaround.eclipse.embedder_7.1.2.RELEASE\jrebel\lib\jrebel64.dll

위치는 사용자마다 이클립스가 설치된 위치가 다르므로 이클립스 플러그인 디렉토리를 뒤져보시길

참고로 jrebel 사이트에서 프로젝트의 pom.xml 에 jrebel plugin 을 정의하지 말고 IDE 의 plugin 으로 사용하길 추천하고 있다.

원문은 어딘지 모르겠음.. 귀찮네 ㅎㅎ;;


1.3 Package Explorer -> context menu -> Run As -> App Engine 클릭하면 콘솔창에 아래와 같이 jrebel 적용되는걸 확인 할 수 있다.


2017-11-23 01:41:02 JRebel: Contacting myJRebel server ..

11�� 23, 2017 1:41:03 ���� com.google.apphosting.utils.jetty.JettyLogger info

����: Logging to JettyLogger(null) via com.google.apphosting.utils.jetty.JettyLogger

2017-11-23 01:41:04 JRebel:  Starting logging to file: C:\Users\wookmania\.jrebel\jrebel.log

2017-11-23 01:41:04 JRebel:  

2017-11-23 01:41:04 JRebel:  #############################################################

2017-11-23 01:41:04 JRebel:  

2017-11-23 01:41:04 JRebel:  JRebel Agent 7.1.2 (201711071615)

2017-11-23 01:41:04 JRebel:  (c) Copyright ZeroTurnaround AS, Estonia, Tartu.

2017-11-23 01:41:04 JRebel:  

2017-11-23 01:41:04 JRebel:  Over the last 2 days JRebel prevented

2017-11-23 01:41:04 JRebel:  at least 0 redeploys/restarts saving you about 0 hours.

2017-11-23 01:41:04 JRebel:  

2017-11-23 01:41:04 JRebel:  Licensed to ?? ? (using myJRebel).

2017-11-23 01:41:04 JRebel:  

2017-11-23 01:41:04 JRebel:  

2017-11-23 01:41:04 JRebel:  #############################################################

. 머라머라

. 머시기어쩌고

. 블라블라


설정2. Maven build config

2.1 Package Explorer -> context menu -> Run As -> Run Configurations.. -> Maven Build -> context menu -> New


2.2 

maven goal 을 appengine:run 으로 설정하고 나머지는 이미지와 동일하게


2.3

JRebel 탭에서 이미지와 동일하게


2.3 Package Explorer -> context menu -> Run As -> Maven Build


혹시나 설정2번이 정상적이지 않으면 Google Cloud SDK 를 설치해야 할수 도 있다

여기주소로 가서 열심히 설치 하던지, https://cloud.google.com/sdk/

이클립스 플러그인을 설치 하던지...https://cloud.google.com/eclipse/docs/

이클립스 플러그인을 설치 하려면 두가지를 모두 설치해야 한다.

자세한 내용은 너무 방대하고 영어문서가 대부분이라 스스로 학습을 하시길 바랍니다.

저 또한 하나하나 해나가고 있지만 기록으로 남기는일이 여간 부지런해서는 안되는 일이라...

그럼, 누군가에겐 도움이 되길 바라면서..