practice / blog

For personal blogging
1 stars 0 forks source link

Clojure remote repl 로 개발하기 #68

Open practice opened 4 years ago

practice commented 4 years ago

리모트로 repl 연결해야 할 경우가 있다. 프로덕션 환경에 붙어서 함수를 실행한다든지, 클라우드 환경에서 그들의 서비스를 테스트해야 하는 환경이라든지.

일단 서버 환경에서 REPL을 실행하자.

$ lein repl :start :port 40000

여기서는 40000번 포트로 실행했다.

이제 이 서버의 포트로 연결해야 하는데, 대부분 막혀 있을 것이다. 하지만 ssh은 열려있을 가능성이 많다. 다음처럼 tunnelling을 해야 한다.

$ ssh -i .ssh/id_rsa -NL 40000:localhost:40000 -v <myid>@<my-server>

이제 localhost의 40000 포트로 연결할 수 있다.

$ lein repl :connect localhost:40000

Cursive에서는 Clojure REPL - Remote 를 추가하자. image

이제 local REPL인 것처럼 코딩하고 로딩하고 함수 실행이 가능하다.

practice commented 4 years ago

참고 https://stackoverflow.com/questions/52459671/clojure-how-to-connect-to-running-repl-process-remotely