[Tistory] (DevOps) Jenkins와 gitHub 연동하기

원글 페이지 : 바로가기

https://developerjjh.tistory.com/197 (DevOps) Jenkins 설치 및 환경설정(Local) https://developerjjh.tistory.com/196 (DevOps) CI/CD란 ? CI/CD CI/CD란 무엇인가 (Feat. DevOps 엔지니어) 안녕하세요. 개발자의 용어를 쉽고 명확하게 설명해드리는 개발자 김모씨입니다. CI/CD ?! 개발자로 밥먹고 developerjjh.tistory.com 우리는 이미 Local환경에서 Jenkins를 설치해서 과정을 조금은 익숙해졌다!! 한걸음 나아가서 AWS EC2 인스턴스를 생성하여 Jenkins를 실행하고 이후 gitHub에 webhook이라는 기능을 통해서 연동을 시켜보려고 한다! AWS 연동 Jenkins를 접속할 인스턴스를 생성한다 Amazon Linux로 모든 설정값은 프리티어로 생성했다 해당 인스턴스를 클릭해서 연결로 접속 putty라는 프로그램을 깔아서 접속할 수 있다 로컬환경에서 했던 거처럼 JDK를 설치를 해줘야 한다 linux환경에서 JDK설치하는 것은…. 인내심이 필요한 거 같다.. 하다 보니 ㅋㅋㅋㅋ 캡처본을 남기지 못해서 검색을 통해 여러 블로그를 참고했던 거 같다 ㅠㅠ 출처 블로그는 밑에 첨부! Jenkins 설치 linux 환경을 기준으로 실행하는 점 양해부탁드려욧… ㅎㅎ sudo yum update -y : 인스턴스내 애플리케이션 업데이트 Jenkins 공식문서에 있는 명령어들을 입력 sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo sudo rpm –import https://pkg.jenkins.io/redhat- sudo yum install Jenkins 설치 이후 8080PORT 번호로 되어 있는 설정을 바꾸고 싶다면 다음 명령어 8080을 변경하면 된다 sudo vi /etc/sysconfig/Jenkins sudo vi /usr/lib/system/system/Jenkins.service sudo systemctl start jenkins : Jenkins를 작동 sudo systemctl status jenkins : Jenkins 상태 확인 jenkins 작동 후 상태 창(status) EC2 인스턴스에서 Jenkins 접속 확인 퍼블릭 IP 혹은 DNS 주소값에 설정한 PORT번호를 붙여서 접속 Unlock Jenkins sudo cat /var/lib/jenkins/secrets/initialAdminPassword로 확인 이후 설정은 local설정과 동일 cf) EC2 인스턴내 Jenkins설치 참고 문헌 https://velog.io/@thovy/PROJECT-%EB%B0%B0%ED%8F%AC%EC%9D%98-%EC%8B%9C%EC%9E%91-Jenkins-%EC%84%A4%EC%B9%98%ED%95%98%EA%B8%B0%EB%B6%80%ED%84%B0-EC2%EC%97%90-%EB%B9%8C%EB%93%9C%EA%B9%8C%EC%A7%80#ec2-%EC%97%90-%EC%A0%A0%ED%82%A8%EC%8A%A4-%EC%84%A4%EC%B9%98%ED%95%98%EA%B8%B0 GitHub와 연동 gitHub 계정의 프로필을 클릭해서 settings로 접근 Developer settings 클릭 Personal access tokens > generate new token name(원하는 Name), select scops repo, adminorg, adminrepo hook generate new token 발급완료하면 Token값을 얻을 수 있다 !! 이때 이후로 페이지 이동하면 다신 볼 수 없다!! Token값 화면 연동할 Jenkins 계정으로 로그인 후 접속 Jenkins 관리 > System Github server name : 쓰고자 하는 name API URL : default값 Credentials Add 클릭 > Kind : Username with password Scope : Global Username :github 아이디 Password : personal token access 값 삽입 ID : 단순한 Jenkins내에 저장할 식별자(name) Test Connection 클릭 후 Success 확인 Jenkins Dashboard 새로운 item 사용할 name 작성 Fresstyle project 혹은 Pipeline 등 원하는 plugin 설정 생성한 item의 구성(설정)으로 접근 GitHub Project url 연동할 repository 주소 삽입 Build Triggers Github hook trigger for GITScm polling Pipeline Definition > Pipeline script from SCM SCM > Git Repositories URL : 연동할 Repository 주소 Credentials : 위에서 설정한 Github 계정 토큰 값 Branches to build : 배포할 브랜치 설정 */main Github Webhook 설정 연결할 repository > settings (repository 생성한 계정만 나와요!!) Webhooks > Add webhook payload URL AWS DNS 주소값:8080(Jenkins PORT번호) + /github-webhook/ Content-type Application/json webhook 설정 후기) 막 어려울 거 같지는 않아서… 금방 한두 시간? 혹은 하루정도만 끝날 줄 알았는데 생각보다 여러움이 많았는데, 모든 과정을 못 담은 게 너무 아쉽다 며칠이 걸린 지는 모르겠지만 최대한 자세하게? 좀 알아보기 쉽게 작성하려고 노력… 했댜.. 그래도 아마 ㅋㅋㅋㅋ 첨 보시는 분들은 나처럼 O_O 하면서 보실듯 하닼ㅋㅋ 적용하면서 봤던 모든 출처사이트들 첨부할게요!! 모두 감사했습니닷 (꾸벅) 참고 출처) 깃허브 푸시되면 젠킨스로 빌드 후 AWS EC2에 배포하기 : https://junhyunny.github.io/information/jenkins/github/jenkins-github-webhook/ Github WebHooks 연동하여 Jenkins 빌드 자동화 : https://1minute-before6pm.tistory.com/52#google_vignette AWS EC2에 Jenkins 서버 구축 :https://velog.io/@hmyanghm/AWS-EC2%EC%97%90-Jenkins-%EC%84%9C%EB%B2%84-%EA%B5%AC%EC%B6%95 jenkins 설치 후 실행 시 service failed 에러를 잡아보자 : https://nowod.tistory.com/9 Jenkins Port 번호 변경 두 가지 방법 : https://jeeu147.tistory.com/109 AWS EC2에 Jenkins 설치하기 : https://green-joo.tistory.com/12#%25EA%25B-%25B-%25EB%25B-%25B-%25–%25ED%25-F%25AC%25ED%25-A%25B-%25–%25EB%25B-%25–%25EA%25B-%25BD-%25EC%25–%25A-%25ED%25–%25-D- Linux EC2에서 Jenkins 설치하기 (java 11 버전버전 설치) : https://narup.tistory.com/259 Jenkins 설치하기부터 EC2에 빌드까지 :https://velog.io/@thovy/PROJECT-%EB%B0%B0%ED%8F%AC%EC%9D%98-%EC%8B%9C%EC%9E%91-Jenkins-%EC%84%A4%EC%B9%98%ED%95%98%EA%B8%B0%EB%B6%80%ED%84%B0-EC2%EC%97%90-%EB%B9%8C%EB%93%9C%EA%B9%8C%EC%A7%80#ec2-%EC%97%90-%EC%A0%A0%ED%82%A8%EC%8A%A4-%EC%84%A4%EC%B9%98%ED%95%98%EA%B8%B0 Jenkin Pipeline 사용하기 : https://velog.io/@revelation/Jenkins-pipeline-%EC%82%AC%EC%9A%A9%ED%95%B4%EB%B3%B4%EA%B8%B0

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다