오늘은 젠킨스(Jenkins)를 EC2에 설치과정과 깃허브 연동에 대해서 정리하겠다.
접속 방법은 포스트를 확인하자 ✔
👉 https://velog.io/@dev_96/AWS-AWS-EC2
📍 추가적으로 보안그룹을 셋팅해야 한다. Jenkins는 8080번 포트이기 떄문에 8080번 포트는 설정한다.
wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
amazon-linux-extras install -y java-openjdk11 Installing java-11-openjdk
👉 젠킨스는 JAVA로 돌아간다. 그러므로 JAVA를 설치해야한다.
yum install -y jenkins
systemctl start jenkins.service
systemctl enable jenkins 👉인스턴스 접속이 끊어지면 다시 젠킨스 시작을 해야 하는데,
이 코드를 입력하면 자동적으로 젠킨스가 시작된다.
Systemctl status jenkins.service 명령어를 입력할 때 아래 사진처럼 나오면 정상적으로 젠킨스 설치가 되었다.
퍼블릭ip:8080으로 접속을 하면, 다음과 같은 웹페이지 화면이 나오는데, 계정의 암호를 입력을 해야한다. 화면에 보이는 파일에 암호가 적혀있다.
cat /var/lib/jenkins/secrets/initialAdminPassword
해당 명령어를 입력하면 암호 확인이 가능하다.
아래의 화면과 같이 두 개의 선택 설치 화면이 나온다. 필자는 ✔ 추천 플로그인을 설치하겠다.
계정을 생성해준다.
젠킨스가 정상적으로 ✔ 설치 완료 되었다.
젠킨스가 설치가 되었고, 이번에 깃허브 연동에 대해서 설명하겠다.
mkdir /var/lib/jenkins/.ssh
ssh-keygen -t rsa -f /var/lib/jenkins/.ssh/ 만들고자 하는 키 이름
생성한 SSH키를 복사붙여넣기 하면 된다.
⭕ 주의해야 할 점:
Github에다 등록해야 하는 키는 public 키이다.
pub 파일 형식인 키를 등록하면 된다.
필자는 이거 해결하느라 죽을 뻔..
✔ key 키 확인 방법
cd /var/lib/jenkins/.ssh
cat 만들고자 하는 키 이름.pub
대시보드 👉 Jenkins 관리 👉 Manage Credential
add credentials 클릭
kind 👉 SSH Username with private key
ID 입력 👉 Username 입력 👉 Private key 등록
📍 Private key
cd /var/lib/jenkins/.ssh
cat 만들고자 하는 키 이름
Jenkins Manage Credential이 ✔ 완료되었다.
드디어 반까지는 왔다. 좀만 더 힘내보자.
대시보드 👉 새로운 ITEM 👉 Freestyle project
소스 코드 관리 👉 git 👉 Repositort URL ✔ 내 깃허브 주소 입력
Credential ✔ 아까 만들었던 Credential 등록
Payload URL 설정에 📍 젠킨스 IP:포트/github-webhook 입력한다.
Content type에 application.json으로 설정한다.
🌟🌟 해당 Github 저장소에서 푸쉬가 일어나면 젠킨스를 호출한다. 🌟🌟
👏 결과적으로 젠킨스에 Github 파일이 빌드업 되었다. 👏
드디어 끝이 났다. 처음 해보는 CI/CD 였는데, 하는 동안 재미있었고, 과정에 대해 많이 이해했다. CI/CD에 대해서 공부를 더 해야겠다.
이만..오늘은 여기까지
빌드업 성공하기 전에 실패가 2번 있었다.
아래화면과 같이 로그를 확인해보니 branch를 찾을수 없다는 이야기인것 같다.
구글박사에 물어보던 중, 요즘 원인이 github 브랜치의 경우 master가 아닌 main이 주 브랜치로 쓰이는 것 같다는 글을 ✔ 발견
빛의 속도로 */master 👉 */main 으로 변경하니 에러가 해결되었다. 휴우..
🏆 성공했다.