Jenkins + GitHub 프라이빗 서브넷 환경, CI 구축의 어려움

2025. 2. 14. 05:58·cs/ops
728x90

Jenkins란?

  • 지속적 통합(CI)
  • Polling 기법 혹은 Webhooks 방법으로 동작한다.
    - Webhooks: 이벤트 전달 , Polling: request 요청(10초에 한 번씩)

젠키스 접속을 위한 aws 설정

Jenkins에 접속하기 위해 ALB 필요가 필요하여 구축이 필요하다.

1. 젠키스 ec2 생성

2. 로드밸런서 구성

dev-jenkins-alb

internet-facing

3. ALB의 DNS 주소로 접속

1. 젠티스 ec2 생성

보안 그룹 구성

  • jenkins ec2 보안그룹(dev-jenkins-ec2) 인바인드 규칙

2. 로드밸런서 구성

  • 대상그룹 생성

대상은 인스턴스로 설정하고 젠킨스가 위치한 ec2를 선택해주었다.

로드밸런서 생성을 누르고 ALB를 선택

이렇게 설정해주고 아래에서도 vpc랑 public subnet을 선택해준다.

  • 리스너 및 규칙

리스너는 HTTP:80으로 하고 대상그룹은 위에서 만든 대상그룹으로 선택

  • 인바인드 규칙

  • 라우팅 구성 (대상 그룹)

가용영역을 2개 선택해야했다 a에만 있고, c는 임의여서 타켓그룹을 지정해주었다.

3. ALB의 DNS 주소로 접속

로드밸런서의 DNS이름:8080 으로 jenkins를 연결한다.

참고) 설정이 잘 되었는데 안된다면 이럴땐 캐시 목록을 삭제해주세요.

애플리케이션의 성능을 높이고 싶을때 자주 액세스하는 데이터를 캐시에 저장해서 사용한다던데 캐시 때문에 동작을 안하기 합니다.

브라우저 캐시 삭제

깃허브 세팅하기

깃허브 토큰으로 후크를 설정

젠킨스 관리 >Credentials에서 해당 토큰을 등록한다.

이제 새 item을 눌러서 파이프라인을 생성하고 설정을 해줄 것이다.

general에서 Github project를 체크하고 url에다가 레포 주소를 입력한다.

트리거는 GitHub hook trigger for GITScm polling 선택한다.

깃허브 웹훅 설정하기

브런치 설정은 가지고 싶은 브런치 입력한다. 우리팀은 main 브랜치에서 가져와 빌드한다.

script path는 Jenkinsfile이 위치한 루트에 맞춰서 작성한다.

PATLOAD URL:  http://ALB주소/github-webhook/

참고) 만약 /github-webhook/을 추가하지 않는다면 Webhooks 에러가 발생한다.

- Last delivery was not successful. Invalid HTTP Response: 403

구축은 완료되었지만 Jenkins응답 속도가 지나치게 느리다.

실무에서 프라이빗 서브넷으로 운영하지만 , 운영 환경에서는 Jenkins 직접 접근할 필요가 없어 온프레미스에서만 사용한다고 한다.

속도가 느려 진행에 어려움이 있어 퍼플릭 서브넷으로 돌아간다.....

728x90
반응형

'cs > ops' 카테고리의 다른 글

서브도메인을 사용하기 위해 Route 53, CloudFront, S3, ACM 설정하기  (0) 2025.02.17
Jenkins을 이용하여 Docker Image를 ECR로 올리기 with Github, 퍼블릭 서브넷  (0) 2025.02.14
[Ansible] lac를 통한 클라우드 인프라 구축-2  (0) 2025.02.13
[Ansible] lac를 통한 클라우드 인프라 구축-1  (0) 2025.02.13
[AWS] 비용 관리 실패? AWS 과금, 전액 환불 후기  (0) 2025.02.13
'cs/ops' 카테고리의 다른 글
  • 서브도메인을 사용하기 위해 Route 53, CloudFront, S3, ACM 설정하기
  • Jenkins을 이용하여 Docker Image를 ECR로 올리기 with Github, 퍼블릭 서브넷
  • [Ansible] lac를 통한 클라우드 인프라 구축-2
  • [Ansible] lac를 통한 클라우드 인프라 구축-1
lakedata
lakedata
lakedata 님의 블로그 입니다.
  • lakedata
    lakedata 님의 블로그
    lakedata
  • 전체
    오늘
    어제
    • 분류 전체보기 (188)
      • cs (82)
        • dev (28)
        • sec (29)
        • ops (25)
      • 자격증 (32)
        • 정보처리기사 (20)
        • 정보보안기사 (1)
        • aws dva (6)
        • aws dop (2)
      • IT서적 (27)
        • 클린아키텍처 (10)
        • 객체지향의사실과오해 (7)
        • 오브젝트 (10)
      • 코테 (42)
        • 알고리즘 (20)
        • 백준 (13)
        • 프로그래머스 (7)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • github
  • 공지사항

  • 인기 글

  • 태그

    AWS
    Spring
    Java
    CS
    SQL
    알고리즘
    docker
    Security
  • 최근 댓글

  • 최근 글

  • 반응형
    250x250
  • hELLO· Designed By정상우.v4.10.3
lakedata
Jenkins + GitHub 프라이빗 서브넷 환경, CI 구축의 어려움
상단으로

티스토리툴바