2022-02-07 DevOps

ansunny1170·2022년 2월 7일
0

UVC BOOTCAMP.DevOps

목록 보기
1/4

# DevOps 알아보기

## DevOps탄생배경 - Agile 개발 방법론

Waterfall

  • 처음부터 끝까지 1번에 완료 시키자!
  • 단계를 정확히 마쳐야함!
    Requirements -> Design -> Development -> Testing -> Deployment

Agile

  • 단계별로 진화 해보자!(프로토타입)
  • waterfall을 작은 단위로 한다고 생각하면 됨!
    작은 목표부터 한단계씩 나아감


출처: Agile Principles(애자일 12가지 원칙)

※정답은 없으나 최근 트렌드는 Agile을 사용함

### 애자일 Scrum(스크럼)


출처: 애자일 Scrum(스크럼)

### 애자일은 운영 방법론일뿐 DepOps tool이 필요하다.

없다면 사람을 갈아 넣어야 겠지..
자동화 tool이 필요하다.


출처: https://reqtest.com/agile-blog/agile-vs-devops/

## Git

git이란?
코드 이력 관리 툴!
https://git-scm.com/

Git 시간대별로 코드 히스토리 제어가 가능한 타임머신:

출처: https://brunch.co.kr/@ultra0034/55

Git은 위의 시나리오를 위해 나온 시스템이다. Git은 작성한 코드를 시간대별로 제어 가능하고 쉽게 다른 개발자와 협업을 도와준다.

Git의 주요 기능은:

  • 코드 복구
  • 라이브 서비스(예: 웹사이트)에 영향을 주지 않고 추가 코딩 작업 가능
  • 하나의 프로그램을 꼬이지 않고 다른 개발자와 실시간으로 동시 작업 가능

### git 초기설정

  • git 초기설정
    git config --global user.name <이름>
    git config --global user.email <메일이름>

  • git 레포지토리 초기화
    mkdir sample-repo
    cd sample-repo
    git init

### git 실습

git 사이트에서 설치하자

초기화 부터 해야하나 난 이미 설정 하였기 때문에 pass~

  • git add sample.txt

init을 하였고, sample.txt를 추가해보았다.


스테이징 영역에 올라갔다.
즉, commit할 준비가 끝났다.

  • 작업폴더에 하위 폴더 및 파일 추가하기
    mkdir child-dir
    echo test! > child-dir/sample.txt

  • 첫 번째 commit하기
    git cmomit -m "first commit"

  • 레포지토리 상태 확인
    git status

  • commit 이력 확인
    git log
    branch에 대한 내용은 뒤에서 다루겠다.

git log --oneline commit message와 commit id확인

  • 파일 갱신하기

echo '파일 갱신!' > sample.txt

  • 파일 변경차이 확인하기
git idff
git add .
git status

log에서 가장 위 항목이 최신 내용이다.

  • child-dir\sample.txt도 실습하기

  • staging 되돌리기
    git reset

  • unstaged후 다시 확인해보기
    git status

    status상태를 되돌렸다.

  • 파일 변경점도 되돌리기
    git reset --hard바로 전에 바꿧던 변경점으로 돌아간다.

    변경점을 되돌릴 것이다.
    git diff해도 전과 동일하기 때문에 변경점이 안나온다.

  • 특정 커밋 ID로 되돌리기
    git reset --hard<커밋 id>

commit id를 입력하면 원하는 위치로 돌아갈 수 있다.

자주 사용하면 안좋다.
자칫 중간 히스토리가 날라갈 수 있으니

### Github

Github
원격 레포지토리를 제공하는 git-hosting 서비스
clone: 원격 레포지토리를 복사
pull: 현재 브랜치의 내용을 당겨오기
fetch: 현재 레포지토리 최신버전으로 갱신
push: 로컬 레포지토리 업로드하기


출처: What is git commit, push, pull, log, aliases, fetch, config & clone


git branch -M main 새로 만들 branch 이름을 적어서 Main branch로 만들겠다 라는 의미이다.
괄호는 main이라는 이름의 Main branch이다.

  • 원격 레포지토리에 원격 등로하기
    git remote add <별명> <주소>
    git remote add origin https://github.com/ansunny1170/sample-repo.git

  • 원격 레포지토리에 로컬 레포지토리 업로드하기
    git push -u origin main
    최초 1회로 -u origin main이라고 했으면 다음부터는 git push만 해도 된다.

변경된 파일을 다시 업로드해보자

### 원격 레포지토리에서 다운해오기

git pull

### clone 사용하기

우선 .git폴더를 삭제하고

clone한다

새로운 폴더에 clone도 가능하다.

## branch란?


출처: Git Branches: List, Create, Switch to, Merge, Push, & Delete

branch란?
다른 개발자와 협업 시, 여러 작업을 동시에 진행하고 싶을 때 사용

  • branch 만들기 및 변경
    git branch <branch 명>
    git checkout <branch 명>

  • branch 삭제
    git branch -D <branch 명>

  • branch 새로 만들자마자 변경하기
    git checkout -b <branch 명>

### develop branch로 테스트

sample1.txt를 새로 만들었고, commit하여 log로 확인하였다.

branch를 main으로 옮겨 log를 확인해 봤더니 다르다.
즉, branch가 다르면 환경이 다르다는 뜻이다.

### issue1 branch를 main과 합치고 싶을때

초록 버튼의 pull request를 해도되지만

issue1 branch를 합치려하기 때문에 아래 comment와 내용은 모두 issue1에 대한 contents고 합치기 원한다면 create pull request를 누른다.

profile
공정 설비 개발/연구원에서 웹 서비스 개발자로 경력 이전하였습니다. Node.js 백엔드 기반 풀스택 개발자를 목표로 하고 있습니다.

0개의 댓글