티스토리 뷰

AWS 안의 Code Builder, Deploy를 사용하면 간단하게 할수도 있지만 그럴수 없는 상황에서는 어딘가에 설치된 Jenkins를 이용해 ec2에 배포를 해야 할수도 있다. 어떻게 배포하는지 간단히 알아보자. 

일단 Jenkins는 준비가 되어 있어야 한다. 설치는 이 글을 참고하도록 하자. 


설정

Jenkins에서 빌드한 결과물이 jar (or war) 형식으로 나왔다고 가정해본다. 그럼 이 파일을 ec2로 SSH를 통해 전송을 해줘야 한다. SSH 전송을 위해서는 Publish Over SSH 플러그인이 필요하다. 설치를 해준다. 

Publish Over SSH 플러그인

설치는 Jenkins 관리 > Plugin Manager 에서 Publish Over SSH 로 검색을 해서 설치를 한다. 

 

플러그인이 설치가 되었다면 Jenkins 관리 > 시스템 설정 으로 들어가서 맨 아래 부분에 Publish Over SSH 을 찾는다. 

 

SSH Servers 설정

여기에 ec2에 접속을 위한 정보를 넣어준다. Name은 Job에서 식별하는 용도로 사용하는것이라 아무 값이나 넣어도 되고 나머지 정보는 ec2에 SSH 연결을 하기 위한 정보라고 보면 된다. Use password authentication, or use a different key 부분을 체크하고 Key 부분에 ec2 접근을 위해 가지고 있는 pem 파일의 내용을 넣어준다. Remote Directory는 ec2에 배포될 위치를 말한다. 더 아래에 있는 port 정보도 꼭 맞게 입력을 해준다. 

 

Test Configuration

다 작성하고 맨 아래에 있는 Test Configuration 을 눌러서 Success가 나온다면 정상적으로 이용이 가능하다는 것이다. 

 


배포

설정을 마쳤으면 Jenkins Job을 하나 생성한다. 그리고 다음과 같이 설정을 해준다. 

 

Jenkins 사용자 빌드 경로 사용

General에 있는 사용자 빌드 경로 사용을 클릭하여 파일을 보낼 디렉토리를 지정한다. 

 

SSH Publishers

Build 에서 Send files or execute commands over SSH를 선택한다. 그럼 SSH Server 목록에서 방금 내가 만든 연결의 이름을 찾을수가 있다. 이것으로 지정을 해준다. 그리고 Trasfer Set으로는 war파일만 전송하도록 설정을 해준다. 나머지 설정은 해줘도 되고 안해줘도 된다. 그대로 저장하고 Jenkins Job을 빌드해준다. 

 

Build Success

정상적으로 ec2에 war파일이 전송이 된 것을 확인할 수 있다. 

 

끝!

 

댓글
최근에 올라온 글
최근에 달린 댓글
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31