[Jenkins] - AWS + 젠킨스 + 스프링 부트 ci/cd 구현 3
젠킨스와 Github ssh 연동
1. 키 생성
우선 키를 생성하기 전에 젠킨스 사용자를 확인해야 합니다.
ps aux | grep jenkins
젠킨스가 사용자로 실행 중이면 현재 사용자를 젠킨스로 전환합니다.
sudo -u jenkins /bin/bash
$ sudo -u jenkins /bin/bash
bash-4.2$
bash-4.2$로 전환이 되었으면 .ssh 디렉토리를 하나 생성하고 이동합니다.
$ mkdir /var/lib/jenkins/.ssh
$ cd /var/lib/jenkins/.ssh
이동하고 나서 ssh 키를 생성하면 됩니다.
ssh-keygen -t rsa -f /var/lib/jenkins/.ssh/{프로젝트명}
ex) ssh-keygen -t rsa -f /var/lib/jenkins/.ssh/spring-project
비밀번호는 입력하지 않고 Enter로 넘기시면 됩니다.
1. Github
깃허브에 접속하고 나서
프로젝트 레포지토리 -> Settings -> Deploy keys -> Add deploy key 순으로 클릭
다시 Putty에서 ls -al을 입력하여 공개키가 잘 생성되었는지 확인하고
bash-4.2$ ls -al
total 12
drwxr-xr-x 2 jenkins jenkins 48 May 12 13:23 .
drwxr-xr-x 15 jenkins jenkins 4096 May 12 13:20 ..
-rw------- 1 jenkins jenkins 1679 May 12 13:23 backProject
-rw-r--r-- 1 jenkins jenkins 437 May 12 13:23 backProject.pub
생성한 공개키 코드를 복사하기 위해 cat을 사용합니다.
cat /var/lib/jenkins/.ssh/backProject.pub
생성된 공개키를 복사하여 Key부분에 붙여넣고 title까지 입력 후 Add Key를 누릅니다.
2. 젠킨스
공개키 등록이 되었으면 젠킨스로 이동하여 비밀키를 등록해야 합니다.
비밀키는 아까 생성한 키 파일에서 복사합니다.
cat /var/lib/jenkins/.ssh/backProject
-----BEGIN RSA PRIVATE KEY-----
MIIEpAIBAAKCAQEAuROTaeQ6EV5EqTH1cOHR+evHEY2I5FmP+bfZKKrv/fctGv2U
2l0du07hvkKQAk6FQXjY5axi9t9YEk0Zz8b0Jl8NIhSRUuugU4XgdbW2HMpa21wv
kt4H4q+U+XFyT4QzcEwi/SJUw87SQmLs84elo89lY3NvkAS//UXYz28TSRAQWv42
l4oIZV8U5yFKP0GZ40xHtXCFV4SWuM+m2deZJTteAHK71kw5Z8tCLL2sJAXTu/ui
R880K4JWJ6tM+Hngf1xpPYIokifirnkaP4p0J0GTSOUVl17+4FUegsa2zGje2MxM
xqlYiNOGbziebouDcOIYE1YIlhkbJXlaDNVzewIDAQABAoIBAQCh6Is8xuk5yoM8
lTUIBLYB8o8bPvtz8RowNvLmTexX/AXcp9yxz2Y0N8TrAiYjrneLGGJ/QnjtSeQt
Vn/vMjji3KKLnvynUvTWPLdpoobn1ur3HkWMMWsql7o3IlUDVT7+zcyKMJ+BEQ0G
AK8UOSXiEYy8HP+LOWyP8KvEhIKVlde3c4ojr2ZZ5ws2SHc2FErJzrU+GS7IS4Jw
3. 확인
우선 깃이 설치되어있지 않다면 깃을 설치해주세요
sudo yum install git
설치가 되었으면 젠킨스로가서 새로운 Item을 생성합니다.
Freestyle project 선택하고 ok
소스코드 관리에서 연동할 프로젝트의 깃 레파지토리를 작성하고 Crredentials에는 금방 만든 Username을 선택
나머지는 건드릴게 없습니다.
저장하시고 대시보드에 가보시면 프로젝트가 생성되어있는데
프로젝트명 우측 화살표 클릭하고 build now를 클릭합니다.
SUCCESS가 뜨면 성공입니다.
'Jenkins' 카테고리의 다른 글
AWS + 젠킨스 + 스프링 부트 ci/cd 구현 6 (0) | 2021.05.17 |
---|---|
AWS + 젠킨스 + 스프링 부트 ci/cd 구현 5 (0) | 2021.05.12 |
AWS + 젠킨스 + 스프링 부트 ci/cd 구현 3 (0) | 2021.05.12 |
AWS + 젠킨스 + 스프링 부트 ci/cd 구현 2 (0) | 2021.05.12 |
AWS + 젠킨스 + 스프링 부트 ci/cd 구현 1 (0) | 2021.05.12 |