Git 영역Git에는 총 3가지 영역이 있다.Working Directory - 내가 작업하고 있는 프로젝트 디렉토리Staging Area - 커밋을 하기 위해 $ git add 명령어로 추가한 파일들이 있는 공간Repository - 커밋들이 모여있는 장소Add저장을 원하는 파일을 묶는 것을 의미한다.만약, 로컬에서 작업한 10개 중 5개를 묶어서 커밋하고 싶다면 사용할 5개를 Staging에 올려야한다.Commit코드를 수정한 부분을 저장하는 것을 의미한다.만약, 1~4차 수정을 했지만, 2번 버전의 디자인을 사용하고 싶으면 2번 수정으로 돌아 갈 수 있다.Push내 컴퓨터에 있는 파일을 Github, GitLab 같은 곳에 업로드하는 것이다.만약 Local에 파일이 없더라도 Github같은 사이트에..
ConfigurationScript → Job → Stages → Pipeline 순서대로Script들이 Job단위로 묶이고Job들이 하나의 Stage를 구성하고Stage들이 모여 Pipeline을 구축한다.CI/CD 파이프라인고객에게 새로운 버전의 소프트웨어를 제공하기 위해 수행하는 단계이다.빌드-테스트-릴리즈-배포 등으로 이루어져있다.CI/CD 파이프라인의 요소빌드 - 애플리케이션을 빌드테스트 - 코드를 테스트하는 단계릴리즈 - Git과 같은 리포지토리에 릴리즈 한다.배포 - 코드를 Prod에 배포하는 단계구성 요소파이프 라인은 Jobs와 Stages로 구성된다.Jobs - 수행할 작업을 정의코드 컴파일, 테스트 작업 등등Stages - Jobs를 실행할 시기Job 구성 요소Jop의 동작을 정의하는 ..
컨테이너 이중화란?AWS에서 컨테이너 이중화는 컨테이너 기반 애플리케이션을 고가용성으로 운영하기 위한 설정이다.한 곳에서 문제가 발생해도 서비스가 중단되지 않도록 구성하는 것을 의미합니다.ECS와 EKS를 활용해 컨테이너를 이중화 할 수 있다.이중화 방식Active - Active다중화된 장비를 보두 사용한다. (부하분산을 목적으로 사용된다.)장점 : 처리 가능한 용량이 커진다.단점 : 높은 운영 비용, 장애 발생 시 처리 용량이 절반으로 줄어든다.Active - Standby (HA)다중화 된 장비 중 1대는 Active형태, 다른 1대는 Standby 형태로 사용한다. (장애가 발생할 경우 Standby 장비를 Active로 동작)장점 : 장애 발생 시 유연한 대비가 가능단점 : 자원의 비효율성Ex)..
AWS Stroage블록(Block) 스토리지데이터를 블록으로 나누어 저장하며, 호스트에서 파일 시스템을생성한다.SSD, HDD를 생각하면 되고, AWS에서는 EBS가 블록 스토리지이다.파일(File) 스토리지디렉토리 구조로 파일을 저장하며, 스토리지단에서 파일 시스템을 생성한다.NAS를 생각하면 되고, AWS에서는 EFS가 파일 스토리지이다.오브젝트(Object) 스토리지객체 기반으로 저장하며, Rest기반의 API 호출을 통해 데이터에 접근한다.http 프로토콜을 이용해서 저장 하며, AWS에서는 S3가 있다.언제 스토리지를 사용해야 효율적일까?Block Storage : 호스트에서 직접 파일을 액세스 하고 빠른 성능을 원하는 경우File Storage : 여러대의 서비스들이 데이터를 공유하고 공유해..
Git이란?개발자들이 프로그램과 관련된 파일들을 저장하고 공유하는데 사용한다. 언제든지 저장 시점으로 되돌아 갈 수 있다.GitLab이란?GitLab은 소스 코드의 저장 기능 외에도 이슈 추적 기능이 있고, CI/CD 기능이 있다. 그리고 비공개 저장소를 무제한으로 생성 할 수 있다.실무에서의 몇몇 문제들Commit하고 merge하려고 보니, 충돌나는 경우서로 합의 되지않은 코드가 배포되는 경우서로의 개발 내용에 대한 이해도가 낮은 경우이러한 문제를 해결하려면 개발 내용들은 모두 별개의 Branch로 관리되러야 한다. GitLab VS GitHubGitLabDevOps의 모든 기능을 제공하는 단일 애플리케이션이다.GitHubDevOps의 일부 기능을 제공하며 사용자가 원하는 툴을 사용하여 CI/CD 두..