젠킨스로 빌드하고 타겟 서버에 배포하기 위해서는 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 |