젠킨스에서 개인키와 공개키 쌍을 만들어서, 공개키를 워커 인스턴스에 등록해주면
이후 젠킨스에서만 워커에 ssh로 접속 가능
- 젠킨스에서 공개키,개인키 생성
ssh-keygen -t rsa -b 4096 -m PEM
Your public key has been saved in {경로}
확인되는 {경로}에서 생성된 키 확인 가능
.pub 붙은게 공개키
안붙은게 개인키
공개키를 워커 인스턴스에 등록해야됨
첫번째 방법
워커 인스턴스 서버의(root 계정 X, 일반 계정) , root계정 테스트중
일반계정
vi /home/{유저명폴더}/.ssh/authorized_keys
root계정
vi /root/.ssh/authorized_keys
경로에 직접 넣기 / 파일의 맨밑에 생성한 공개키 넣기
※ 주의할 것 : 띄어쓰기나 엔터키 다 지우고 붙여넣기
두번째방법 GCP에 등록
공개키 복사 후 GCP의 설정 > 메타데이터 > SSH에 등록
필자는 첫번째, 두번째 방법 다해야 되더라...
젠킨스에서 워커 인스턴스 환경세팅
젠킨스대시보드서 젠킨스관리 > 시스템 설정
맨밑의 Publish over SSH 확인(플러그인으로 사전에 설치해야됨)
------BEGIN RSA ... ------ 여기부터
------END ... ------여기까지 쫙 복사 후 붙여넣기
※ ---.. 부분을 안붙여서 연결이 처음에 안되더라
name : 아무거나, 필자는 gcp에 세팅한 인스턴스 이름이랑 맞춤
hostname : 젠킨스 & 워커인스턴스는 gcp의 같은 네트워크라서 내부 IP 입력
username : 인스턴스접속시 뜨는 계정명
remote director : 업로드할 경로.
Test Configuration 클릭 후 Success 뜨면 정상적으로 연결된것
생성한 Item -> 구성 > 빌드후 조치 추가로 아래 box 클릭
push on ssh server에 등록한 워커 인스턴스 추가후 Exec Command에 아래 명령어 입력
github의 웹훅에 의해 가져온 파일을 빌드 > Docker hub에 push 했으니 워커에서 Docker hub에 있는 걸 pull 받은 후 실행 시키는 명령어 (기존 컨테이너를 중지 및 이미지 삭제 후 실행시킴)
sudo docker stop $(sudo docker ps -q) : 모든 컨테이너 중지
sudo docker rmi -f {도커허브계정}/{도커허브 저장소}
sudo docker pull {도커허브계정}/{도커허브 저장소}
sudo docker run -d -p 8090:8090 {도커허브계정}/{도커허브 저장소}
https://changhyunit.tistory.com/82
https://skyblue300a.tistory.com/14
https://more-learn.tistory.com/26?category=796361
'인프라 > Jenkins' 카테고리의 다른 글
센토스 서버 스프링부트 war 파일 배포 연습기록 (0) | 2021.11.13 |
---|---|
젠킨스 이슈 및 해결사항 (0) | 2021.11.13 |
깃허브에 없는 파일을 젠킨스에 수동으로 파일 업로드 하는방법 (0) | 2021.08.31 |
Spring Boot(Gradle) 젠킨스 구축 및 자동배포 - (2) 젠킨스 깃허브 연동 + Dockerhub에 push (0) | 2021.08.31 |
Spring Boot(Gradle) 젠킨스 구축 및 자동배포 - (1) 젠킨스 세팅 (0) | 2021.08.31 |