IntelliJ Tomcat Deployment - Export war file

Reading time ~1 minute


Tomcat Deployment

Tomcat을 이용하여 배포할 때 webapps/ 폴더 아래에 myapp.war 파일을 위치시키고 tomcat을 실행시키면 webapps/myapp 이름으로 폴더가 생성된다. 이 때 이 프로젝트는 http://localhost:8080/myapp/index.jsp 와 같이 url이 지정된다. url에서 myapp을 제거하고 /으로 시작하도록 하고 싶다면 webapps/myapp/ 하위에 존재하는 파일들을 webapps/ROOT/ 하위로 모두 옮기면 http://localhost:8080/index.jsp 처럼 사용할 수 있다.


Exploded war

IntelliJ web application project 생성은 여기를 참고하면 된다.
web application을 생성하고 run server을 하면 out이라는 폴더가 생성된다.

After run server

out/artifacts/myapp_war_exploded 폴더가 존재하는데 war파일이 풀어진 형태이다. 이 폴더를 그대로 톰켓의 webapps/ 에 복사해도 배포가 가능하지만 war파일로 만들어서 관리하는 방법도 있다.


Export war file

프로젝트명을 클릭하고 Command ⌘ + 키를 눌러서 Project Structure 창을 열고 좌측의 Artifacts를 누른다.

open artifacts

중간에 myapp:war exploded 라고 보이는 위 쪽에 + 버튼을 누르면 추가를 할 수 있는데 Web Application: ArchiveFor 'myapp:war exploded'를 선택하면 된다. 기본으로 설정된 myapp의 war exploded에 대한 war파일을 생성하도록 build를 추가하는 것이다.

archive


중간 지점을 보면 myapp_war.war으로 이름이 설정되어 있다. 우클릭하여 myapp.war으로 이름을 바꿔준다. (위에서도 말했듯이 .war 앞의 이름으로 배포 폴더가 생성되고 url이 정해진다.)

Rename war file

우측 하단의 Apply 버튼을 클릭한다.


설정이 완료됐으면 상단의 BuildBuild Artifacts..를 클릭한다.

Build

아래와 같은 창이 뜨면 myapp:war -> Build를 클릭하여 war을 생성하는 build을 실행할 수 있다.

Build artifact


out/artifacts/myapp_war 라는 폴더가 생성되고 myapp.war 파일도 생성 되었다.

war file created

CircleCI와 Heroku를 이용하여 배포 자동화 하기

매일 오전 학식 메뉴를 Notification 해주는 간단한 프로그램을 만들었었다. 개발할 당시 코드는 github repository으로도 관리를 하고 heroku 배포를 위해 heroku repository에서도 관리를 했었다. 소스코드를...… Continue reading