Jenkins 설치 (Amazon EC2 사용!)

연수·2022년 3월 6일
0

CI/CD

목록 보기
2/4

✔️ Jenkins 서버를 올리기 위한 EC2 생성

  • 인스턴스 유형 : t2.microm4.large
  • VPC : vpc-dev-01
  • 서브넷 : sbn-dev-private-01d
  • 보안그룹 : vpcsg-dev-jenkins-01

 

✔️ Bastion를 통해 private subnet에 있는 Jenkins EC2 접속

  1. bastion public ip로 ssh 연결

    $ ssh -i {key.pem} ubuntu@{public ip}
  2. bastion 서버에 pem 키 업로드

    $ scp -i {pem키 경로} {옮기고자 하는 파일 경로} ubuntu@{public ip}:{bastion 서버 내에서 파일 업로드할 경로}
  3. bastion 서버 안에서 ssh로 private ec2 접속

    $ ssh -i {key.pem} ubuntu@{private ip}

 

✔️ NAT Gateway 생성

** private subnet 내 리소스에서 도커 등 외부로부터 설치 파일을 가져오기 위해 필요함

  1. public subnet에 배치, 탄력적 IP 할당
  2. private subnet의 라우팅 테이블에 연결

 

✔️ Docker, Jenkins 설치

  1. docker 설치

    [참고] https://shanepark.tistory.com/237

    $ sudo apt-get install docker-ce docker-ce-cli containerd.io
    $ sudo chmod 777 /var/run/docker.sock
    $ sudo chown 777 /usr/bin/docker
  2. Jenkins 설치

    $ docker pull jenkins/jenkins:lts
    $ docker run -d \
       --name jenkins \
       -v /var/run/docker.sock:/var/run/docker.sock \
    	 -v /usr/bin/docker:/usr/bin/docker \
       -p 8080:8080 jenkins/jenkins:lts
  3. Jenkins 재시작

    $ docker restart jenkins

 

✔️ ALB 연결

** Jenkins에 접속하기 위해 LB 필요

  1. 로드밸런서 구성
    • alb-dev-jenkins-01
    • internet-facing
    • vpc-dev-01
    • sbn-dev-public-01d, sbn-dev-public-01a
  2. 보안 그룹 구성
    • vpcsg-dev-alb-jenkins-01
    • HTTP 포트인 80으로 들어온 트래픽 허용
  3. 라우팅 구성 (대상 그룹)
    • tg-dev-alb-jenkins-01
    • 대상 유형: 인스턴스 (jenkins ec2)
    • HTTP 8080번 포트 (젠킨스가 사용하는 포트)
  4. jenkins ec2 보안 그룹 편집
    • vpcsg-dev-jenkins-01 편집 → 인바운드에 jenkins alb sg 추가
  5. ALB의 DNS 주소로 접속

[참고] https://minjii-ya.tistory.com/36

 

✔️ Jenkins 초기 설정

  • 계정명: admin
  • 암호: (비밀!)
  • 이름: yeonsoo
  • 이메일주소: (입력!)
  • jenkins URL: (ALB DNS 주소로 설정)

 

profile
DCDI

0개의 댓글