DASHBOARD APP 개발/AWS EC2 SERVER 배포

EC2 자동 배포 : DevOps를 위한 CI/CD (1) Git hub actions 설정

신강희 2024. 5. 7. 12:32
728x90

 

# DevOps는 소프트웨어 개발과 정보기술 운영을 결합하는 문화, 철학, 방법론입니다. "DevOps"는 "Development"과 "Operations"의 합성어로, 개발팀(소프트웨어 개발)과 운영팀(시스템 운영) 간의 협업, 자동화, 통합을 강조

 

CI/CD는 "Continuous Integration/Continuous Deployment" 또는 "Continuous Integration/Continuous Delivery"의 줄임말로, 소프트웨어 개발 프로세스의 자동화된 방식을 설명합니다.

  • Continuous Integration (CI, 지속적 통합):

CI는 개발자들이 코드를 공유하는 작업을 빈번하게 하여, 코드 변경 사항이 즉시 통합되고 테스트되도록 하는 개발 방법론입니다. CI는 다음과 같은 흐름을 가집니다:

  • 개발자는 코드를 작성하고 버전 관리 시스템(Git 등)에 푸시합니다.
  • CI 서버는 코드 변경 사항을 자동으로 감지하고, 통합하여 빌드하고 테스트합니다.
  • 테스트가 성공하면, 결과를 개발팀 또는 관련자에게 알립니다.
  • 실패한 경우, 해당 변경 사항을 개선하고 다시 시도할 수 있도록 합니다.

CI는 개발자들이 더 자주 코드를 공유하고 문제를 빨리 발견하여 수정할 수 있도록 돕습니다.

 

  •  Continuous Deployment (CD, 지속적 배포) 또는 Continuous Delivery (지속적 전달):

Continuous Deployment와 Continuous Delivery는 두 가지 다른 컨셉을 가지고 있습니다.

  • Continuous Deployment: 코드 변경 사항이 자동으로 프로덕션 환경에 배포되는 것을 의미합니다. 성공적인 CI 후, 코드 변경 사항이 자동으로 프로덕션 환경에 배포되며, 사용자가 새로운 기능이나 수정 사항을 즉시 사용할 수 있습니다.
  • Continuous Delivery: 프로덕션 환경으로의 배포는 수동으로 이루어지지만, 배포 가능한 상태를 지속적으로 유지하는 것을 의미합니다. 즉, CI가 성공하면 테스트된 코드는 프로덕션 배포를 위한 준비가 되어있으며, 배포는 트리거가 발생하면 수동으로 이루어집니다.

 

# 즉, CI깃 허브 닷컴을 이용하고, CD깃 허브 액션즈를 이용

# 깃 허브 액션즈 진입 경로

 

# 생성

 

# Name은 원하는것 생성 // 공백없도록 주의해서 작성해야함

# Secret 에는 퍼블릭 IPv4 주소 or DNS 주소 넣어주면 됨.

 

# Add secret 하면 키파일을 넣어줘야 하는데, git actions는 pem 파일 형식으로 넣어줘야함

 

# pem 파일 변환은 Puttygen 에서 자동으로 변환가능하다.

 

 

# 리눅스용 pem 파일 생성 확인

 

# 생성했으면 다시 깃 액션즈로

 

# 이름 적고, 생성된 pem 파일을 드래그앤 드랍하면,

 

# 키내용이 적힌 새창이 열림 이걸 전부 복사 붙여넣기 하면됨

# 공백이 없도록 주의해서 붙여넣어야 한다. 공백 혹은 오타가 있으면 생성시 오류가 생김

 

# IP 주소와 시크릿 키 이렇게 2개 생성완료

# 이제 생각해보면 Putty로 진입할때 user ID가 필요했었으므로, user ID용 도 생성

 

# user ID 생성

 

# 지금까지 깃허브에 설정하는 방법 진행 3가지

1. Git 설정에 자동화 시키려는 IP or host name 생성

2. 보안키 생성

3. user ID 생성

 

다음 게시글에서 workflow 생성까지~!

반응형