CI/CI__Jenkins

git push가 오면 centos server에 jenkins가 자동으로 배포하게 하기 1편

말하는감자 2020. 3. 19. 09:11

1. 환경 설정
배포 서버 : 펭귄 서버
ci 서버 : 젠킨스 서버(편의상 젠킨스 서버라고 부를게오)

펭귄 서버에는 git, 소스 기타 등등이 설치되어 있습니다.
펭귄 서버에 연동된 git에 감자(나)가 commit을 하고 master 브랜치에 푸쉬를 해주면
젠킨스는 펭귄 서버로 달려가서 git pull을 한 후에 배포를 합니다.


2. 어떻게 접속할 것인가
젠킨스 서버가 펭귄 서버로 달려가려면 젠킨스 -> 펭귄 ssh로 접속할 수 있는 권한이 있어야 합니다.
지금부터 편의상 젠킨스 -> 펭귄 ssh key 이름은 id_rsa_for_펭귄이라고 부르겠습니다.


젠킨스 서버에서 ssh key를 생성한 후에, id_rsa_for_펭귄.pub 파일을 펭귄 서버에 등록해줍니다.
관련 설명은 아래 참고
https://noelnoelnoel.tistory.com/146

젠킨스 서버에서 펭귄 서버로 ssh 접속을 할 수 있다면 next


3. 젠킨스 콘솔에서 설정할 수 있도록 ci 환경에서 준비

젠킨스 서버에서 id_rsa_for_펭귄 파일을(pub가 아닙니다! 주의) JenkinsData 하위의 secrets 안에 카피해줍니다.

cp /경로/id_rsa_for_펭귄 /경로/secrets/id_rsa_for_펭귄


그 다음에 방금 복사한 따끈한 id_rsa_for_펭귄이 있는 곳으로 이동합니다.

cd /경로/secrets/id_rsa_for_펭귄


해당 파일의 소유자를 바꿔줍니다.

chown jenkins id_rsa_for_펭귄

4. 젠킨스 콘솔에서 접속이 가능한지 확인

manage jenkins -> configure system -> publish over SSH
해당 메뉴에서 add 를 눌러줍니다. 빈 창이 생기면 Advanced도 눌러줍니다.

use password authentication 에 체크해주고 내용을 입력해주세요.

Test Configuration 에서 connect 라고 나오면 접속에 성공한거에요.