본문 바로가기

Middleware

[젠킨스] SSH 플러그인을 이용한 젠킨스 배포

젠킨스로 빌드하고 타겟 서버에 배포하기 위해서는 ant 스크립트를 짜고 프로젝트에 추가하는 것이 일반적이다. 하지만 젠킨스의 SSH 플러그인을 이용하면 좀 더 쉽게 작업할 수 있다는 사실!

SSH 플러그인은 타겟 서버에 SSH 로 접속해 해당 서버의 콘솔에서 작업하는 것과 동일한 효과를 낸다.

 - jenkins SSH wiki : https://wiki.jenkins.io/display/JENKINS/SSH+plugin


1. SSH 플러그인 설치

 : Jenkins 관리 > 플러그인 관리 > "Publish over SSH" 플러그인 설치 


2. SSH 타겟 서버 설정

 : Jenkins 관리 > 시스템 설정 > Publish over SSH 설정에 SSH 서버 추가


SSH 로 서버에 접속해야 하기 때문에 CI 설치된 서버와 타겟 간 22번 포트 방화벽은 미리 열려있어야 한다. 설정의 Remote Directory 항목에 디렉토리를 지정하면 SSH 접속 시 해당 디렉토리로 연결된다. 

(ex, /engn001/tomcat/webapps 로 지정하면 해당 디렉토리로 SSH 접속)


3. Jenkins Job 에 추가

 : "빌드 후 조치" 에서 "Send build artifacts over SSH" 선택


 3-1) 2번에서 설정한 타겟 서버를 SSH Server Name 에서 선택

 3-2) Transfer Set 설정

  - source files : $JENKINS_HOME/workspace/$JOB_NAME/ 이하 경로

  - remove prefix : SSH 로 접속/파일 전송 시 source files 에서 제거할 prefix

  - remote directory : SSH 서버 설정에서 설정한 remote directory 이하의 경로 지정

  - exec command : source files 를 전송한 후 실행할 command 





단순히 war 파일을 서버에 배포하고 재기동 스크립트를 바로 실행하는 job 이라면 굳이 ant 스크립트를 짤 필요없이 SSH 플러그인을 이용하면 굉장히 간단하게 구성할 수 있다.

'Middleware' 카테고리의 다른 글

reverse proxy vs forward proxy  (0) 2018.12.02
Storage 비교 : NAS / DAS / SAN  (0) 2018.12.02