본문 바로가기

Web

IntelliJ 로컬서버와 실제 운영서버 소스코드 비교/수정/반영(Deployment)

728x90
반응형

어느덧 이클립스에서 인텔리제이로 넘어온지 2년 정도가 되어간다.

 

IntelliJ에서 제공하는 기능을 그래도 어느정도 사용하고있다고 생각했는데...

또 다시 새로운 녀석을 만나게 되었다.

 

그녀석이 바로 Deployment 기능이다.

 

어느날 현재 운영중인 실서버에 올라가있는 소스코드중 정적페이지에 오타를 발견하였다.

 

본인이 처리한 과정은 putty, Git bash와 같은 프로그램을 사용해서 리눅스에 접속하여 직접 소스코드 파일을 찾아들어가 오타를 수정하는 방식이었다.

정적페이지 html, jsp와 같은 페이지는 톰캣 재시작 없이 바로 수정이 가능했기에 이런 방식을 선택했다.

하지만 수정을 하는 과정에서 소스코드의 위치를 찾아들어가야하는 번거로움을 느꼈다.

이번에는 그저 오타 하나였지만 만약에 수정할 것들이 10개 100개 이런식으로 늘어난다면 이 번거로움은 더욱 커질 것이다.

그렇다고 정적페이지 수정을 위해 소스코드를 다시 war나 jar로 묶어 올리는 것은 좀 그르타...

 

그래서 발견한 것이 바로 IntelliJ에 Deployment 기능이다.

 

먼저 IntelliJ에게 비교할 운영서버 정보를 제공해야한다.

상단 메뉴 Tools -> Deployment -> Configuration

그럼 이런 창이 나오는데

여기서 좌측상단 + 버튼 클릭 -> (자신의 실운영 서버 종류 선택) 본인은 SFTP 

 

 

 

 

 

다음 나온 창에서 Server Name 지정(자신이 하고싶은 거로 아무거나)

 

그럼 이렇게 좌측에 test가 만들어진다.

이제 SSH configuration 설정을 해줘야 한다.

빨간색 동그라미 표시된 ... 클릭

 

 

 

그럼 나오는 창에서

좌측 상단 + 버튼 클릭 -> 운영서버 Host 입력 -> 운영서버 Username 입력 -> Authentication type 설정 -> Test Connection

Test Connection이 성공해야 한다. 

실패했다면 입력한 내용을 다시 한 번 살펴보길.

 

 

Test Connection을 성공해서 SSH configuration 설정이 완료됐다면

이전에 생성한 test에 SSH configuration을 이 전 방금 생성한 key를 선택 -> 운영서버 소스코드 시작 폴더 지정 -> 운영서버 URL 입력

 

이후 상단탭에서 Mappings로 이동 후 

로컬 소스 코드 위치 지정 -> 운영서버 소스 코드에서 로컬 소스 코드 위치와 동일한 위치 지정

(위 말이 어려울 수 있는데...예를 들면 로컬 소스 코드 위치를 E:/Developer/test/webapp으로 잡았다면 운영 서버 소스 코드에서 경로는 다르겠지만 E:/Developer/test/webapp 과 동일한 위치를 설정해주면 된다.)

본인은 이 단계가 조금 헷갈렸음...

 

이렇게 되면 설정은 끗!

 

이제 로컬의 소스코드를 변경 후 비교해보자

 

(로컬 소스 코드를 임의로 바꾼 뒤)

 

상단 메뉴 Tools -> Deployment를 가보면 Compare with Deployed version on **** 이 활성화 돼있다.

여기서 ****은 본인이 생성한 이름으로 돼있을 것이다. 

Compare with Deployed Version on **** 을 클릭 하면

 

 

아래와 같이 운영서버와 로컬의 소스코드를 비교해서 보여준다.

 

이렇게 수정된 로컬 소스 코드를 운영서버에 반영하고싶다면

아래의 사진에서 보이는 Upload to **** 을 하면 되는 것이다.

(여기서도 ****은 본인이 생성한 이름)

 

이렇게 리눅스에 접속하지 않고 intelliJ에서 운영서버 소스코드를 변경하는 방법을 알아보았다.

 

위와 같은 방법을 사용하면 html, jsp와 같은 정적 파일에서 소스 코드를 intelliJ에서 운영서버에 적용할 수 있다.

또한 10개 100개의 수정사항이 있다면 리눅스에서 파일 하나하나 접근해서 수정하는 번거로움 없이 intelliJ에서 로컬 파일을 수정하고 바로 운영서버에 한 번에 반영할 수 있다.

 

앞으로 운영서버에 정적 페이지 수정이 필요할때는 이 방법을 사용하면 좋겠다.

728x90
반응형