형상관리와 Azure DevOps(TFS) 기반 개발 환경 정리

이동근·2026년 1월 16일

C#

목록 보기
6/9

형상관리

  • 소프트웨어 개발 생명주기 동안 생성되는 모든 산출물(소스 코드, 문서 등)의 변경 사항을 체계적으로 식별, 추적, 제어하여 소프트웨어의 무결성과 추적성을 보장하는 관리 프로세스

ex) csv, svn, git


Azure DevOps Server

  • MS의 Team Foundation Server(TFS) 또는 최신 버전인 Azure DevOps를 말함

  • 버전관리 , 작업 항목 추척, 빌드 자동화, 테스트 관리, 협업 도구

  • Azure DevOps - 단독잠금을 함 -> 같이작업하지 않고 혼자수행 (웹이랑 별도라고 생각)


Azure DevOps Server에 연결 설정 (원격 서버 -> 로컬 서버 연결 과정)

팀 탐색기 → 연결관리 → 연결관리(푸른글씨) → Azure DevOps Server 추가 → 
서버 URL 입력 후 추가 → 프로젝트 목록이 뜸 → 프로젝트에 연결(사람2명 있는거) →
로컬 작업 공간 설정 취소 → 이후 매핑

솔루션(Solution) : Visual Studio에서 여러 프로젝트를 묶어서 관리하는 컨테이너

  • 솔루션 : 프로젝트들을 담는 큰 폴더/그룹 -> 솔루션 안에 프로젝트랑 폴더를 넘을 수 있음

  • 프로젝트 : 실제 실행 파일 (.exe, .dll)을 만드는 단위


매핑

  • 서버의 폴더와 로컬(내 컴퓨터) 폴더를 연결하는 것 - 작업영역에 저장됨

    • 서버 : 회사 서버 주소

    • 로컬 : 내 컴퓨터 폴더

  • git에 clone가 비슷한 개념

  • 원격 저장소와 로컬 폴더 연결

프로젝트 붙이기 = 매핑

기본적인 방법

매핑 되지 않음 클릭 후 → 원격 서버 프로젝트을 연결 할 로컬 폴더 경로 설정

추가적인 방법

소스 제어 탐색기 → 상단에 작업 영역 드룹 다운 클릭 → 작업 영역 관리 → 
작업 영역 선택 후 편집 → 소스 제어 폴더에 프로젝트를 선택 → 로컬 폴더 영역에 위치 붙이기

경로를 잘못 입력하거나 수정이 필요할 경우

프로젝트 폴더 우클릭 후 고급 → 매핑 제거 → 경로를 변경하고 (변경, 매핑 제거) 버튼 이용 

새 프로젝트를 처음으로 TFS 서버에 등록하는 과정

새 프로젝트 생성 후

프로젝트를 생성할 솔루션을 열고 → 오른쪽 위에 솔루션 우클릭 →
추가 → 새 프로젝트 → 경로 설정하여 생성하면 솔루션 안에 프로젝트가 생성됨 

오른쪽에 있는 솔루션 탐색기에 초록색 +버튼 확인 가능 
체크인 대기 상태( git에 add 개념,아직 서버에 올라간 상황이 아님)

체크인 하여 서버에 등록 (프로젝트를 생성하면 바로 체크인을 해줘야함)

체크인(check in)

  • 소스 제어 시스템에 변경사항을 저장하는 작업 -> 반드시 체크인 해야함

  • git과 비교하자면 commit+push

  • 체크인을 할 때는 전체적으로 확인해야함 -> 솔루선 단위로 확인

  • 로컬에서 작업한 걸 원격 서버로 올리는 행위 = 프로젝트 올리기


체크아웃(check out)

  • 소스 제어 시스템에서 파일을 가져와서 편집을 가능한 상태로 만드는 작업

  • TFS 해당 파일을 잠겨서 다른사람이 수정하지 못하게 할 수 있음

  • git과 비교하자면 pull , clone


  • 동적 연결 라이브러리 : 여러 프로그램이 공유할 수 있는 코드와 데이터를 담고 있는 파일

  • 코드 재사용, 메모리 절약, 업데이트 용이


루프백

  • 자기자신을 가르키는 네트워크 주소

  • IP 주소 : 127.0.0.1 또는 localhost


bin 폴더 안에 exe안에 있는 프로젝트 폴더안에 넣기 -> 형상관리를 하기위해


서버의 특정 버전을 강제로 덮어쓰기

  • SQL 스크립트나 다른 파일이 동기화 안 맞을 때 사용

진행 과정

팀 탐색기 → 폴더 → 고급 → 특정 버전 가져오기 → 체크박스 2개 체크

과거 코드내역 보는 법

진행과정

클래스 우클릭 → 소스제어 → 기록에서 확인

현재 작업 영역을 확인, 관리

현재 작업 영역 확인 방법

파일 → 소스제어 → 고급 → 작업 영역

솔루션/프로젝트와 소스 제어(TFS)의 연결을 변경하는 기능

진행 방법

파일 → 소스제어 → 고급 → 소스 제어 변경
  • 바인딩은 솔루션 파일에 저장

바인딩 해제(Unbind)

  • 솔루션을 소스 제어에서 분리

  • TFS 연결 끊기

  • 로컬에서만 작업하고 싶을 때

바인딩 변경

  • 다른 TFS 서버로 연결 변경

  • 다른 프로젝트 경로로 재연결


외부 라이브러리 넣는법

외부 라이브러리 주입 과정

프로젝트 우 클릭 → nuget 패키지 관리 
ex) 찾아보기(Newtonsoft.Json) 검색 → 버전확인하고 → 패키지 세부 정보에서 NET.Framework (2.0, 3.5, 4) 지원하는지 확인

외부 라이브러리 설정

도구 → 옵션 → Nuget 패키지 관리자 → 기본 패키지 관리 형식 → PackageReference 설정

Get Latest

파일 다운로드

VS2026 → 팀 탐색기 → 원하는 폴더 우 클릭 후 → 최신 버전 가져오기 →
매핑 되어 있지 않은 경우 매핑을 해주고 다운 
  • 매핑이 되어 있어야 가능

  • git의 pull 개념


DB

DB 스키마

  • 데이터베이스의 구조와 설계도

  • 데이터베이스 구조 전체 : 테이블, 컬럼, 데이터 타입, 관계 등의 정의

  • 논리적그룹(SQL Server 기준) : 데이터베이스 객체들을 분류하는 네임스페이스
    ex) dbo.Users, Sales.Orders, HR.Employees 에서 (dbo, Sales, HR)

    • dbo는 기본스키마 , 용도별로 스키마를 나눠서 관리 할 수 있음

저장 프로시저

  • DB에 미리 저장해둔 SQL 코드 묶음

  • 미리 컴파일되어 빠르게 실행, 재사용, 보안, 유지보수


SQL Source Control

  • Redgate에서 만든 도구로 데이터베이스 스키마를 Git/TFS 같은 버전 관리 시스템에 연동하는 플러그인

  • 추적하는 것

    • 스키마 변경

      • 테이블 생성/삭제/수정

      • 컬럼 추가/삭제

      • 저장 프로시저, 함수, 뷰

      • 인덱스, 제약조건

      • 스키마 생성 (← TE 스키마 만든 것도 추적!)

  • DB 연결할 때 1:1 매핑

    • VS2026와 사용할 때 DB당 하나의 폴더만 연결

profile
안녕하세요

0개의 댓글