본문 바로가기

Git10

Gitlab(폐쇄망) CI/CD로 .net core 프로젝트 배포 자동화 만들기 배경 지금 운영중인 서비스에서 업데이트가 진행되는 경우 배포해야할 어플리케이션은 3~5개이다. 지금까지 업데이트를 할 때마다 직접 배포파일을 만들고, 서버에 옮긴 뒤 IIS APP풀을 내리고 파일을 교체하고 다시 풀을 재시작하는.. 노가다를 반복했었다. 시간이 부족하다는 핑계로 생산성이 떨어지는 미련한 짓을 거의 1년 넘게 반복하다 보니 이제는 정말 자동화된 배포 프로세스가 필요하다고 느꼈다. 배포 자동화를 해야겠다는 마음을 먹으니 자동화 프로세스 구축으로  배포가 간단해지는 것 이외에 다른 부가적인 효과들도 기대할 수 있을 것 같았다.  과정 우선 서버에서 나를 대신해 열심히 빌드부터 배포까지 진행해 줄 gitlab-runner를 설치해주어야 한다. - 프로젝트 레포지토리 => Settings => C.. 2024. 11. 25.
[Git] git merge로 브랜치 병합하기 (8) 개발을 하다보면 내가 작업중인 브랜치에 다른 브랜치 내용을 가져오거나, 내 브랜치 작업 내용을 master브랜치에 병합하는 등 개발내용을 합쳐야되는 순간들이 있다. 그럴 때 이용하는것이 git merge이다. 하나의 사례를 예로 들어보자. 내 개인 브랜치에서 작업을 진행하 던 중, 중요한 문제가 발생하여 hotfix를 먼저 만들어야 되는 상황이 왔다고 가정하자. 이럴 경우 우선 현재 운영중인 운영 브랜치로 작업 브랜치를 옮긴 뒤, 운영 브랜치에서 분기한 hotfix브랜치를 새로 만들 것이다. 이 hotfix브랜치에서 장애를 해결 한 뒤, 테스트를 마치고나면 그 수정내용을 운영 브랜치에 반영하기 위해 운영 브랜치에 merge를 할 것이다. 이후 다시 원래 작업하던 브랜치로 옮겨가 하던 작업을 진행하는 것이.. 2023. 12. 2.
[Git] git branch 개념과 사용법(7) 개발을 하다 보면 코드를 복사해 놓은 뒤에 개발을 해야 하는 일이 자주 생긴다. 코드를 복사한 뒤, 원래 코드와는 독립적으로 개발을 할 수 있는데, 이렇게 독립적으로 개발하는 줄기가 되는 것이 브랜치다. 모든 버전관리 시스템은 브랜치를 지원한다. 그 중에서 git의 브랜치는 매우 가벼워 순식간에 브랜치를 새로 만들어 작업할 수 있고, 브랜치 간 이동이 매우 수월하다. 때문에 git은 브랜치를 새로 만들어 작업한 뒤, 다시 merge하는 개발 방식을 권장한다. 우선, branch의 기본 동작부터 살펴보자. 실습용 레포지토리의 초기 모습이다 현재 master라는 브랜치가 존재하고 있고 HEAD가 51d435e8을 가리키고 있다. (HEAD는 특정 브랜치의 마지막 커밋에 대한 포인터이다) 이 상태에서 새로운 .. 2023. 12. 1.
[Git] git stash로 Working Directory 정리하기 (6) 개발을 하다보면 내가 A브랜치에서 작업을 하던 중에 어떤 요청으로 인해 B브랜치로 잠시 변경을 해야 할 일이 생길 때가 있다. 이 때 곧바로 git checkout B브랜치로 이동을 하려고 하면 에러와 함께 브랜치가 옮겨지지 않게 된다. 그 이유는 Working Directory에 아직 커밋되지 않은 파일들이 남아 있기 때문이다. 이때, 커밋을 해준 뒤에 다시 checkout을 하면 정상적으로 브랜치를 옮길 수 있지만 개발이 완료되지 않은 상태에서 단순히 브랜치를 옮기고자 커밋을 하는 것은 바람직하지 않다. 이런 경우에 사용하는 것이 바로 git stash이다. git stash를 간단하게 정의하면 stash라는 하나의 stack저장소를 만들어 아직 커밋되지 않은 자료들을 stash에 담아주는 것이다. .. 2023. 11. 30.