SSH?
- Secure Shell
- 네트워크 상 다른 pc에 로그인하거나 원격 시스템에 명령어를 실행해서 다른 시스템으로 파일을 복사할 수 있도록 하는 응용프로그램 또는 프로토콜을 말한다.
- 데이터를 암호화해 전송 중간에 패킷을 가로채더라도 내용을 읽을 수 없다.
- 포트 포워딩(일종의 터널)을 제공해 네트워크상에서 안전한 데이터 전송이 가능하다.
- 서버와 클라이언트간 통신을 안전하게 하기 위해 로컬 포트와 원격 포트를 매핑한다.
- 기밀성과 무결성을 보장한다.
- 클라이언트/서버 형태로 클라이언트에 접속, 원격 명령어를 통해 파일을 전송할 수 있다.
CI 후 자동적으로 SSH 프로토콜을 통해 Ec2원격 저장소에 jar파일을 올려 실행 시키는 CD 과정
AWS - EC2 - 인스턴스 시작
이름 설정 - application and OS images 는 Amazon linux, key pair RSA, .ppk 설정하고 Launch Instance.
instance 의 public ip 주소를 통해 putty 라는 클라이언트가 접속할 것이다.
putty 설치
다운 후 설정 :
SSH - Auth - Credentials - private key file for authentication 을 아까 다운로드한keypair로 설정 - open
ec2-user
접속
경로확인 - home/ec2-user
원격 접속이 된 상태.
instance - security 에서 22포트를 설정해야한다.
security group 접속 - edit inbound rules
SSH ipv, ip6 다 열어둔다.
젠킨스 설정:
dashboard - jenkins 관리 - plugins - avaliable plugins 에서 publish over ssh 설치.
jenkins 관리 - system - ssh server 추가
host name은 ec2의 public ip.
user name, directory 는 putty cmd 창에서 본 거 그대로 사용
remote dicrectory는 원격서버서 파일을 저장할 디렉토리.
apply - 저장
ssh 설정값 완료
다시 board server - config - 빌드환경 Send files or execute commands over SSH after the build runs 선택
Transfer set 을 설정한다.
Source files : 로컬에서 실행되었던 스냅샷.jar파
remove prefix:
remote directory: 원격 서버에서 파일을 저장할 디렉토
exec command: 파일을 옮긴 후 어떻게 실행할지
apply - 저장
완료
'JAVA > 프로젝트' 카테고리의 다른 글
쿠폰 선착순 발급 이벤트 - MySql, Docker 설정, 포트 충돌 해결. (0) | 2024.11.28 |
---|---|
쿠폰 선착순 발급 이벤트 - 기획, ERD,프로젝트 세팅 (0) | 2024.11.27 |
배포 자동화 - jenkins, ngrok, Webhooks (0) | 2024.11.26 |
배포 자동화 - 이론. CICD, Gradle, Jenkins (0) | 2024.11.25 |
스프링부트 Slack 알림 연동 (0) | 2024.11.25 |