CI-CD(5)
-
[CI/CD] 확장성을 고려한 프로젝트에서 많이 쓰는 CI/CD 구축 방법
✅ 전체적인 흐름✅ CodeDeploy를 사용하는 이유CodeDeploy는 수많은 AWS EC2에 배포를 쉽게 할 수 있도록 도와준다.CodeDeploy에 무중단 배포 기능이 내재되어 있어 손쉽게 무중단 배포를 진행할 수 있다.이 외에도 다양한 장점이 존재한다.CodeDeploy란 무엇인가요? - AWS CodeDeploy✅ 장점서버가 여러 대이더라도 쉽게 자동 배포를 구축할 수 있다.쉽게 무중단 배포를 적용시킬 수 있다.✅ 단점CodeDeploy를 사용함으로써 인프라 구조가 복잡해졌다. 구조가 복잡해짐에 따라 관리 비용, 유지보수 비용, 난이도, 트러블 슈팅 어려움, 복잡도가 증가했다.✅ 이 방법은 언제 주로 쓰는 지서버를 여러 대 이상 구동해야 하거나 무중단 배포가 중요한 서비스일 때 주로 활용한다...
2024.05.24 -
[CI/CD] 일반 프로젝트 전용 CI/CD 구축 방법 (Github Actions)
✅ 전체적인 흐름✅ 장점빌드 작업을 Github Actions에서 하기 때문에 운영하고 있는 서버의 성능에 영향을 거의 주지 않는다.CI/CD 툴로 Github Actions만 사용하기 때문에 인프라 구조가 복잡하지 않고 간단하다. ✅ 단점무중단 배포를 구현하거나 여러 EC2 인스턴스에 배포를 해야 하는 상황이라면, 직접 Github Actions에 스크립트를 작성해서 구현해야 한다. 직접 구현을 해보면 알겠지만 생각보다 꽤 복잡하다. ✅ 이 방법은 언제 주로 쓰는 지현업에서 초기 서비스를 구축할 때 이 방법을 많이 활용한다.처음 서비스를 구현할 때는 대규모 서비스에 적합한 구조로 구현하지 않는다. 즉, 오버 엔지니어링을 하지 않는다. 확장의 필요성이 있다고 느끼는 시점에 인프라를 고도화하기 시작한다. ..
2024.05.23 -
[CI/CD] AWS EC2 root 계정 활성화 시키기
Elastic IP 설정 ▶ 1. root 비밀번호를 먼저 변경하여 준다.#sudo passwd root ▶ 2. sshd_config 설정정보 변경#sudo vi /etc/ssh/sshd_config:set nu 를 입력하여 보기 좋게 라인수 표시. 38 라인의 "PermitRootLogin yes" 부분의 주석을 해제하고 저장 (:wq) ▶ 3. 루트 경로에 .ssh 경로를 생성하여 준다.#sudo mkdir /root/.ssh 나와 같은 경우는 이미 디렉토리가 있어 생성되진 않았다. ▶ 4. ec2유저의 인증키를 root로 복사한다.#sudo cp /home/ec2-user/.ssh/authorized_keys /root/.ssh ▶ 5. sshd를 리스타트 한다. #sudo syst..
2024.05.23 -
[CI/CD] 개인 프로젝트 전용 CI/CD 구축 방법 (Github Actions)
✅ CI/CD 전체 흐름CI/CD의 구성 방식은 다양하지만 일반적으로 아래의 흐름을 가진다.코드 작성 후 CommitGithub에 PushPush를 감지해서 Github Actions에 작성한 로직이 실행빌드(Build)테스트(Test)서버로 배포(Deploy)서버에서 배포된 최신 코드로 서버를 재실행 JDK 설치$ sudo apt update && /sudo apt install openjdk-17-jdk -y$ java -version # 잘 설치됐는 지 확인 Git clone을 활용해 프로젝트 다운받기$ git clone {git repository clone 주소} https://velog.io/@nara7875/github-%ED%86%A0%ED%81%B0-%EB%B0%9C%EA%B8%89%ED..
2024.05.23 -
[CI/CD] EC2 서버구성
✅ 스토리지 구성우리가 쓰고 있는 노트북이나 데스크톱 컴퓨터는 전부 하드디스크를 가지고 있다. 하드디스크는 컴퓨터에서 파일을 저장하는 공간이다. EC2도 하나의 컴퓨터이다보니 여러 파일들을 저장할 저장 공간이 필요하다. 이 저장 공간을 보고 EBS(Elastic Block Storage)라고 부른다. 즉, EBS란 EC2 안에 부착되어 있는 일종의 하드디스크라고 생각하면 된다. EBS와 같은 저장 공간을 조금 더 포괄적인 용어로 스토리지(Storage), 볼륨(Volume)이라고 부른다. ✅ 생성된 인스턴스 정보 해석하기세부 정보에서 눈여겨 봐야 할 부분은 2가지 밖에 없다. 퍼블릭 IPv4 주소와 인스턴스 상태이다.퍼블릭 IPv4 주소는 EC2 인스턴스가 생성되면서 부여받은 IP 주소이다. EC2 인..
2024.05.23