본문 바로가기

개발 지식/CI, CD5

CI/CD와 무중단 배포 📖 학습 목표CI/CD무중단 배포1. CI/CD1) 용어 정리라우팅(Routing): 사용자의 요청 URL을 지정된 서버의 기능이나 리소스에 연결하는 과정컴파일(Compile): 프로그래머가 작성한 소스코드를 기계어로 변환하는 과정빌드(Build): 소스코드를 실행 가능한 형태로 변환 + 실행에 필요한 환경을 구성하는 과정빌드 ⊃ 컴파일ex: 컨테이너화된 빌드 (코드 실행에 필요한 환경 자체를 컨테이너로 패키징)도구: Docker배포(Deploy): 빌드의 결과물을 사용자가 접근할 수 있는 환경에 배치하는 것ex: ① 컨테이너화된 빌드의 결과물(컨테이너 이미지)을 배포 가능한 환경으로 업로드도구: Docker Hub, ECR(AWS Elastic Container Registry), GitHub Con.. 2024. 12. 19.
04. [실습] GitHub Actions 기본 문법 정리 📖 학습 목표GitHub Actions 기본 문법 정리* GitHub Actions 공식 문서: https://docs.github.com/ko/actions1. GitHub Actions 기본 문법 정리1) YAML 파일 생성 및 실행① main 브랜치로 이동 ② VS Code 에서 기존 GitHub 프로젝트 루트 디렉토리 열기③ .github/workflows 폴더 안에 YAML 파일 작성# deploy.ymlname: Github Actions 실행시켜보기on: push: branches: - mainjobs: My-Deploy-Job: runs-on: ubuntu-latest steps: - name: Hello World 찍기 run: ech.. 2024. 12. 17.
03. GitHub Actions CI/CD 흐름 📖 학습 목표GitHub Actions를 활용한 CI/CD 흐름1. GitHub Actions를 활용한 CI/CD 흐름1) CI/CD 흐름을 이해하기 위한 GitHub Actions 개념 정리GitHub Actions: 로직을 실행시킬 수 있는 일종의 컴퓨터CI/CD 과정에서 GitHub Actions 역할: 빌드, 테스트, 배포에 대한 로직을 실행시킴 GitHub Actions에 대한 개념을 이 정도로 잡아두고, CI/CD 전체 흐름을 살펴보자!  2) CI/CD 전체 흐름CI/CD 구성 방식은 다양하지만 일반적으로 다음 흐름을 가짐① 코드 작성 후 Commit② GitHub에 Push③ Push를 감지하여 GitHub Actions에 작성한 로직이 실행됨빌드 (Build)소스 코드 컴파일: 소스 코.. 2024. 12. 17.
02. GitHub Actions 📖 학습 목표CI/CD 구축할 때 사용할 Github Actions1. CI/CD 구축할 때 사용할 GitHub Actions1) CI/CD를 구축할 때 사용할 툴CI/CD를 구축할 수 있는 툴에는 여러가지가 있음GitHub ActionsGitLab CI/CDJenkinsCircle CITravis CI  GitHub Actions GitLab CI/CD Jenkins Circle CI Travis CI 호스팅클라우드 기반(GitHub 제공)클라우드 및 자체 호스팅자체 호스팅클라우드 및 자체 호스팅클라우드 기반빌드용 서버구축 필요 여부불필요 (GitHub에서 제공)선택적 (클라우드/자체 서버 중 선택)필요 (자체 서버에 구축 필수)선택적 (클라우드/자체 서버 중 선택)불필요 (클라우드에서 제공).. 2024. 12. 17.
01. CI/CD를 왜 배우는 걸까? 📖 학습 목표CI/CD 란?1. CI/CD 란?CI/CD란 테스트(Test), 통합(Merge), 배포(Deploy)의 과정을 자동화하는 것CI(Continuous Integration): 지속적 통합CD(Continuous Deployment): 지속적 배포 1) CI/CD를 왜 배우는 걸까?서비스를 운영하다보면 새로운 기능을 추가하는 일이 많음새로운 기능에 대한 코드를 작성한 뒤, Commit → 브랜치에 Merge → 배포배포를 할 때 직접 컴퓨터 서버(ex: AWS EC2)에 접속해서 새로운 코드를 다운받아 실행시켜줘야 함이 과정을 코드의 수정이 일어날 때마다 반복하기엔 너무 번거로움. 따라서 이런 일련의 과정을 자동화시키기 위해 CI/CD를 도입 2) CI/CD의 일반적인 과정Develop: .. 2024. 12. 17.