https://developerjjh.tistory.com/197
우리는 이미 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
- 설치 이후 8080PORT 번호로 되어 있는 설정을 바꾸고 싶다면 다음 명령어 8080을 변경하면 된다
- sudo systemctl start jenkins : Jenkins를 작동
- sudo systemctl status jenkins : Jenkins 상태 확인
- EC2 인스턴스에서 Jenkins 접속 확인
- 퍼블릭 IP 혹은 DNS 주소값에 설정한 PORT번호를 붙여서 접속
- Unlock Jenkins
- sudo cat /var/lib/jenkins/secrets/initialAdminPassword로 확인
- 이후 설정은 local설정과 동일
cf) EC2 인스턴내 Jenkins설치 참고 문헌
GitHub와 연동
- gitHub 계정의 프로필을 클릭해서 settings로 접근
- Developer settings 클릭
- Personal access tokens > generate new token
- name(원하는 Name), select scops
- repo, adminorg, adminrepo hook
- name(원하는 Name), select scops
발급완료하면 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 확인
- Github server
- 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
- Repositories
- GitHub Project url
- 새로운 item
- Github Webhook 설정
- 연결할 repository > settings (repository 생성한 계정만 나와요!!)
- Webhooks > Add webhook
- payload URL
- AWS DNS 주소값:8080(Jenkins PORT번호) + /github-webhook/
- Content-type
- Application/json
- payload URL
후기)
막 어려울 거 같지는 않아서... 금방 한두 시간? 혹은 하루정도만 끝날 줄 알았는데
생각보다 여러움이 많았는데, 모든 과정을 못 담은 게 너무 아쉽다
며칠이 걸린 지는 모르겠지만 최대한 자세하게? 좀 알아보기 쉽게 작성하려고 노력... 했댜..
그래도 아마 ㅋㅋㅋㅋ 첨 보시는 분들은 나처럼 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 에러를 잡아보자
Jenkins Port 번호 변경 두 가지 방법
: https://jeeu147.tistory.com/109
AWS EC2에 Jenkins 설치하기
Linux EC2에서 Jenkins 설치하기 (java 11 버전버전 설치)
: https://narup.tistory.com/259
Jenkins 설치하기부터 EC2에 빌드까지
Jenkin Pipeline 사용하기
: https://velog.io/@revelation/Jenkins-pipeline-%EC%82%AC%EC%9A%A9%ED%95%B4%EB%B3%B4%EA%B8%B0
'DevOps' 카테고리의 다른 글
(DevOps) AWS에서 S3+CodeDeploy로 EC2 자동배포 (2) (0) | 2023.12.25 |
---|---|
(DevOps) AWS에서 S3+CodeDeploy로 EC2 자동배포 (1) (0) | 2023.12.25 |
(DevOps) Jenkins 설치 및 환경설정(Local) (0) | 2023.08.12 |
(DevOps) CI/CD란 ? (0) | 2023.07.22 |