📌 CI/CD
CI (지속적 통합 Continuous Integration)
- 작업한 코드를 주기적(자동적)으로 빌드하고 테스트하여 레포지토리에 통합하는 것
- 코드의 변경사항이 기존 코드에 버그를 일으키지 않는지, 잘 호환되는지를 자동으로 검증
- 코드 변경사항을 작은 단위로 지속적으로 머지(병합)하여 충돌상황을 미리 예방할 수 있음
CD (지속적 제공 Continuous Delivery / 지속적 배포 Continuous Deployment)
- 지속적 제공 (Delivery) : 배포 전 단계까지 자동화, 수동으로 배포 승인
- 지속적 배포 (Deployment): 테스트 통과 시 운영 환경까지 자동으로 배포
📌 Jenkins
Jenkins
Jenkins – an open source automation server which enables developers around the world to reliably build, test, and deploy their software
www.jenkins.io
젠킨스는 소프트웨어의 빌드, 테스트, 배포 자동화를 간편하게 만들어주는 CI/CD 도구다.
Docker 이미지 파일, War 파일, 설치프로그램 등 다양한 형태로 배포되므로 원하는 배포 파일을 다운 받아 사용하면 된다.
📌 AWS EC2 (Amazon Linux)에 Jenkins 설치하기
0. 전제
- EC2 인스턴스가 생성되어 있으며 보안 그룹이 아래처럼 설정된 상태여야 한다.
- 보안그룹은 인스턴스 생성 시 설정하거나 설정 후 편집할 수 있다.
0.1 보안그룹 포트 설명
- 80 (HTTP) : 웹 접근용. 도메인 연결 및 HTTP를 통한 서비스 접근 허용 목적의 포트
- 8080 : 젠킨스 웹 UI 접근용 포트. 젠킨스 설치 후 초기 설정 및 플러그인 설치 시 웹 UI 필요
- 22 (SSH) : EC2 서버 원격 접속용 포트. 터미널에서 SSH 명령어 사용하여 접근
0.2 EC2 인스턴스 생성 방법 참고
[AWS] EC2 인스턴스 생성 및 접속
📌 준비사항1. AWS 회원가입 (프리티어 이용)2. Ubuntu 설치 📌 AWS EC2 인스턴스 생성하기1. AWS 로그인 후 Amazon EC2 혹은 콘솔에 로그인 선택 Amazon EC2 선택했을 경우, Amazon EC2 시작하기 선택 2.
apricoding.tistory.com
1. EC2 인스턴스 접속
ssh -i "key.pem" ec2-user@ec2-public-ip
2. Java 설치
- 젠킨스는 Java 애플리케이션으로 Java를 먼저 설치해야한다.
- 설치 가능한 패키지 중 java를 포함한 패키지 목록 검색
sudo yum list | grep java
- 패키지 최신 업데이트 및 Java 설치 (Java 7, 8, 11, 17, 21 지원 가능 / 11 이상 권장)
sudo yum update -y
sudo yum install java-17-amazon-corretto-devel.x86_64 -y
- Java 삭제 시
sudo yum remove "설치한버전" -y
sudo yum remove java* -y
3. Jenkins 설치
- Jenkins 레포지토리 추가
sudo wget -O /etc/yum.repos.d/jenkins.repo \
https://pkg.jenkins.io/redhat-stable/jenkins.repo
- Jenkins key 파일 추가
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io-2023.key
- Jenkins 설치
sudo yum install jenkins -y
4. Jenkins 시작
sudo systemctl start jenkins
- EC2 인스턴스 시작 시 자동 실행 설정
sudo systemctl enable jenkins
- 상태 및 로그 확인
sudo systemctl status jenkins
sudo journalctl -u jenkins -f
5. Jenkins 구성
- 브라우저에서 ec2 public ip:8080 포트로 접속 (예: 53.231.222.xx:8080)
- 아래 페이지가 정상적으로 출력되는지 확인
- 터미널에 아래 명령어 입력하여 비밀번호 확인 후 복사하여 사용
sudo cat /var/lib/jenkins/secrets/initialAdminPassword
- 제안된 플러그인 설치
- 관리자 생성
- Jenkins 화면 확인
- 좌측 메뉴 - Jenkins 관리 - 플러그인
- ec2 검색 후 Amazon EC2 플러그인 설치
- 새 클라우드 생성
- AWS 자격증명 (Access Key 생성 필요)
[AWS] IAM Access key 생성하기
1. 콘솔 접속 https://us-east-1.console.aws.amazon.com/iam us-east-1.console.aws.amazon.com 2. IAM 사용자 생성 3. 생성된 사용자 선택하여 액세스 키 만들기 4. 액세스 키 생성 완료
apricoding.tistory.com
- 지역 선택 후 EC2 키페어 추가
- 키페어 추가
- 테스트 연결 후 저장
🌟 AWS EC2 - Jenkins 기본 설정 완료!
참고
Jenkins on AWS
Jenkins – an open source automation server which enables developers around the world to reliably build, test, and deploy their software
www.jenkins.io
EC2 OS가 Ubuntu일 경우에는 아래 순서에 따라 설치
Linux
Jenkins – an open source automation server which enables developers around the world to reliably build, test, and deploy their software
www.jenkins.io
'배포 & 운영 > AWS' 카테고리의 다른 글
[AWS] IAM Access key 생성하기 (0) | 2024.05.27 |
---|---|
[AWS] 도커로 리액트 배포하기 (0) | 2023.09.05 |
[AWS] 인스턴스에 도커 설치하기 (0) | 2023.09.04 |
[AWS] EC2 인스턴스 생성 및 접속 (0) | 2023.08.29 |