Github및 DevOps환경에 대한 이해

2025. 5. 6. 01:16·프로디지털아카데미

DevOps 란?

개발조직과 운영조직의 결합 또는 긴밀한 협업 의미, 즉 협업 및 융합을 강조하는 문화, 방법론, 프로레스 도구

Agile 방식과 연관이 있음 궁극적인 목표가 동일하다. 차이점으로는 데브옵스는 소프트웨어 품질이 전제된 상황에서 속도 추구, 품질 동시에 중요시함.

ex) 파이프라인 자동화

기존에는 운영과 개발조직이 분리되어있었음 → 서로 단절되어 있어 연속성이 없는 단점 발생

 

데브옵스를 잘하기 위해서는?

  1. 애자일 조직 문화 정착
  2. 서비스지향 아키텍처 관점에서 내부 시스템 재설계
  3. 클라우드 전환을 통한 IT인프라 자동화
  4. 데브옵스 파이프라인 구축을 위한 오픈소스 개발역량 확보

현업에서의 데브옵스 형태는?

때문에 데브와 옵스가 한 팀에서 근무 하거나 한명의 개발자가 모두 책임지는 데브옵스가 부상하게됨

데브옵스에 필요한 요소

  1. 추상화
  2. 자동화
  3. 공통화
  4. 지속적인 통합
  5. 모니터링

브랜치 전략

Feature → dev →Release → main브랜치

ArgoCd - 구버전에서 신버전으로 변경될 때 구버전에 사용자가 가지 않도록 도와주는 역할을 수행함

IAC - IT 인프라를 프로비저닝하고 관리하는 것을 코드를 통해 자동화하는 방식

CI/CD 가 추구하는 것은 끊김이 없는 업데이트이지만 다만, 현실적으로 한계가 있음(규모나 아키텍처에 따라 중단이 필요한 경우도 있음 다만 서버점검 시간이 과거에 비해 단축됨)

여러개의 서버에 무중단으로 배포할 때에는 여러가지 방법이 존재함 ex: 롤링, 블루그린, 카나리


깃? 깃허브란?

먼저 버전 관리란 내가 원하는 시점(버전)으로 이동할 수 있게 해 주는 것 이다.

이때 깃은 버전관리를 도와주는 툴이다. 그리고 이를 원격으로 저장하고 공유할 수 있도록 해주는게 깃허브이다.

 

깃의 명령어

!! 클라우드환경에서는 보통 커맨드라인에서 작성을 하기 때문에 익스텐션을 통해 git을 사용하기 보다는 커맨드를 통해 하는 것에 익숙해지는게 필요하다! (하지만 익스텐션 활용하면 마우스클릭만으로 가능하다는 장점이 있다)

 

git init을 하게되면 .git 레포지토리가 생성됨

git add 뒤에. 을 붙이면 전체파일 선택 그외에는 뒤에 선택할 파일 적음

git status 를 실행하면 어떤 파일들이 스테이징 되어있는지 확인 가능

git diff 변경사항을 확인 , 커밋하기 전에 차이점을 분석하는게 좋음 실제로는 git difftool 이 더 유용함 (git diftool 커밋아이디 를 하게되면 특정 파일과도 비교가능)

git log 커밋 히스토리 확인

.gitignore 을 통해 깃 버전 관리에서 제외할 파일을 선택할 수 있다. 이때 현재 라이브러리와 프레임워크에서 어떤걸 제외시켜야할 지 모르겠다면 아래의 링크를 동한 gitignore자동생성기를 활용해주면 된다.

https://www.toptal.com/developers/gitignore

git clone 원격저장소의 코드를 컴퓨터에 받아옴

git pull 원격저장소에 업데이트된 데이터를 가져옴

 

 

Branch란?

브랜치는 독립적인 작업을 할 수 있는 공간

별도로 작업하여 합치는 방안이 가장 효율적, 이를 가능하게 하는게 브랜치와 머지

main 또는 master = 기본 브랜치

 

 

현재 브랜치 목록과 현재 브랜치 확인

$ git branch

branch 만들기

git branch "브랜치이름"

branch 변경

git swithc "변경할 브랜치 이름"

병합시 충돌 주의⚠️

브랜치끼리 서로 다른 부분을 수정했다면 충돌이 없지만 같은 부분을 변경하고 merge를 해주면 conflict가 발생

충돌 발생하는 과정

master 브랜치에서 파일1 수정 → git add → git commit → 브랜치 변경 → 변경된 브랜치에서 파일 1 수정 → git add→ git commit → master 브랜치로 변경 → merge 하면 충돌 발생

 

 

 

 

 

Revert

커밋들 사이에 특별한 변화 사이로 되돌리겠다는 뜻

깃허브 브랜치 관련 실습 시 유의사항‼️

메인 브랜치에 두개의 브랜치를 둘때 master 브랜치에서 생성해주어야함. 생성한 브랜치 내에서 생성하면 안됨

 

 

 

마이크로서비스란?

기존 = 모놀리식 아키텍처 → 마이크로 서비스 로 변화하고 있는 추세이다.

 

'프로디지털아카데미' 카테고리의 다른 글

MSA구조에 맞는 인프라를 설계해보자!  (0) 2025.09.26
And 프로젝트 기획 회고  (0) 2025.09.23
금융IT 프로젝트 기획해보기!  (1) 2025.09.16
첫 페어 프로그래밍 회고  (3) 2025.08.06
[프디아] 금융 프로젝트 회고  (4) 2025.08.01
'프로디지털아카데미' 카테고리의 다른 글
  • And 프로젝트 기획 회고
  • 금융IT 프로젝트 기획해보기!
  • 첫 페어 프로그래밍 회고
  • [프디아] 금융 프로젝트 회고
hiwon
hiwon
천천히 굴러가는 코딩일기
  • hiwon
    하이원의 코딩 일기
    hiwon
  • 전체
    오늘
    어제
    • 분류 전체보기 (83)
      • 프론트엔드 (0)
        • react (0)
      • 백엔드 (13)
        • node.js (1)
        • spring (6)
      • 코딩테스트 (57)
        • 백준 (41)
        • 프로그래머스 (15)
      • 프로디지털아카데미 (9)
        • 클라우드 (1)
        • JavaScript (1)
      • github (1)
      • AWS (2)
      • Infra (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    백트래킹
    프디아
    신한투자증권
    파이썬
    투포인터
    코딩테스트
    AWS
    kdt교육
    다익스트라
    github
    프로그래머스
    백엔드
    K디지털트레이닝
    알파코
    MSA
    알고리즘
    BFS
    UnionFind
    bastion host
    코테
    python
    EC2
    IT기획
    백준
    깃허브
    Java
    프로디지털아카데미
    spring
    그리디
    알파코캠퍼스
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
hiwon
Github및 DevOps환경에 대한 이해
상단으로

티스토리툴바