C# :: Lecture & TIPs VB :: Lecture & TIPs

Azure DevOps 활용하기 (팀 구성원 초대 / 수락 및 프로젝트 변경 내용 추적)

이전 게시물에서 Azure DevOps 를 연결하는 방법 에 대해 소개해드렸었습니다. 이번 포스팅에서는 팀 구성원들과의 협업에 필요한 기능들에 대해 소개를 해 드리려고 하는데요, Azure DevOps (애저 데브옵스) 를 활용하여 팀 구성원으로 초대받아 프로젝트를 공유하는 방법과 전자 메일을 통해 수령한 팀 구성원 초대장을 수락하는 방법, 그리고 팀 구성원들이 작업한 변경 내역들을 확인하는 방법들에 대해 추가적으로 다루어보고, 마지막으로 Code Repository (코드 저장소) 로는 Git 방식을 많이들 선호하시기는 하지만 TFVC (Team Foundation Version Control) 를 사용할 때의 장점들이 존재하는데요, 그 중의 하나가 폴더별 접근 권한을 제어할 수 있는 기능을 지원해준다는 것입니다. Git 일 경우에는 가지치기를 하여 Branch 를 별도로 생성하거나 혹은 아예 Code Repository (코드 저장소) 를 별도로 구성해서 운영하는 방법도 존재하지만, 내부 인력과 외부에서 소싱된 인력이 뒤섞여 있는 상황일 경우 이러한 폴더별 권한 관리 기능은 훌륭함을 넘어 관리자에게 상당히 실용적으로 다가오는 기능일텐데요. 소스 제어 저장소에 팀 구성원들이 접근 가능한 폴더별 권한을 구성하는 방법까지 안내해드리도록 하겠습니다.

[ 팀 구성원 초대하기 ]

이전 포스팅에서 생성한 계정 URL 주소 (https://dev.azure.com/[계정 ID]/) 를 통해 메인 페이지로 접속한 다음, 팀 구성원을 추가하실 프로젝트를 선택합니다

프로젝트 상단에 위치한 [Invite (초대)] 버튼을 클릭하여 사용자를 초대하는 과정을 거칩니다.

구성원 초대 대화상자가 표시되면, 초대할 상대의 전자 메일 주소를 입력하신 후 [Add (추가)] 버튼을 클릭합니다.

초대장이 전자메일을 통해 구성원에게 발송되기까지 약간의 시간이 소요됩니다.

초대가 완료되면 다음과 같이 사용자가 성공적으로 초대되었다는 메시지가 상단에 표시됩니다.


[ 팀 구성원으로 초대받고 프로젝트 연동 및 매핑하기 ]

팀 구성원으로 초대되면 관리자가 구성원 추가 시 기입한 전자 메일 계정으로 초대장이 수신되는데요, 초대장에서 [Join Now] 버튼을 클릭하여 초대를 수락합니다.

로그인 화면이 표시되면 아이디와 비밀번호 혹은 Windows Hello 생체 인증 방식을 통해 로그인을 진행합니다.

프로젝트 팀의 구성원으로 합류되어 메인 페이지가 표시되면 초대된 프로젝트 명을 클릭합니다.

프로젝트를 Visual Studio 로 여는 방법은 총 두 가지 인데요, 접근이 빠르고 새로운 기기에서도 쉽게 연동할 수 있도록 [Widget (위젯)] 을 설정하는 방법으로 소개 드리도록 하겠습니다. 좌측 메뉴에서 [Dashboard (대시보드)] 를 클릭하고, 가운데 [Add a Widget (위젯 추가)] 버튼을 클릭하여 위젯을 추가합니다.

우측의 [Add Widget (위젯 추가)] 메뉴에서 [Visual Studio Shortcuts] 항목을 선택하신 후 [Add (추가)] 버튼을 눌러 위젯을 추가합니다.

대쉬보드에서 [Open in Visual Studio] 버튼을 찾아 클릭합니다.

다음과 같이 앱 선택 화면이 표시되면, [Microsoft Visual Studio Web Protocol Handler Selector] 를 선택하신 다음, 맨 하단의 [OK (확인)] 버튼을 클릭합니다.

Visual Studio 가 실행됩니다.

로그인 화면이 표시되면 아이디와 비밀번호 혹은 Windows Hello 생체 인증 방식을 통해 로그인을 진행합니다.

Visual Studio 가 실행되며 [Team Explorer (팀 탐색기)] 창에 다음과 같이 노란 메시지 상자가 표시되는데요, [Configure your workspace (작업 공간을 구성)] 링크를 클릭하여 공간 구성 작업을 진행합니다.

프로젝트 명과 아래 로컬 PC 에 매핑되어 질 디렉토리 경로를 확인하신 후 [Map & Get] 버튼을 눌러 매핑 작업을 진행합니다.

*Mapping (매핑) 이란 웹 서버의 코드 저장소와 컴퓨터에 저장된 로컬 폴더를 연결하는 작업을 뜻합니다.

매핑 작업이 모두 완료되면, 공유되어질 프로젝트가 [Solution Explorer (솔루션 탐색기)] 하단의 [Solutions (솔루션)] 카테고리에 표시됩니다.

Solution 카테고리에 생성된 프로젝트 명을 더블클릭하여 전체 프로젝트를 Download (다운로드) 하여 로컬 파일로 저장합니다.

[Solution Explorer (솔루션 탐색기)] 를 열어 확인해보시면 프로젝트 다운로드가 완료되었음을 확인하실 수 있습니다.

공유된 프로젝트가 누군가에 의해 변경되었을 경우 프로젝트를 마우스 오른쪽 클릭하신 후 [Get Latest Version (Recursive) (최신 버전 가져오기 (하위 버전 포함))] 을 차례로 클릭하여 업데이트합니다.

여기까지 팀 구성원을 초대하고, 수신된 초대장을 수락하는 방법을 알아보았습니다. 이제 간단하게 소스 코드 변경 내용을 추적하는 방법도 추가적으로 다루어보도록 하겠습니다.

[ 변경 내용 추적하기 ]

Mapping 이 완료된 프로젝트일 경우, 소스 코드 중간 중간에 변경된 횟수와 함께 최종 편집자에 대한 정보가 기록되어집니다.

기록된 [최종 편집자의 ID] 혹은 [변경된 횟수] 를 클릭하면, 이렇게 변경 사항을 한 눈에 모니터링 할 수 있게 됩니다.

시간대별로 기록된 수정 / 편집 내용 전체를 상세히 확인하시려면, 창 맨 우측의 [Team Explorer (팀 탐색기)] 를 클릭한 후 [Source Control Explorer (소스 제어 탐색기)] 를 차례로 클릭합니다.

시간대별로 추적된 수정 / 편집 기록 전체의 내용을 아래와 같이 상세히 확인하실 수 있으며, 각 시간대의 수정 이력을 더블클릭하면 그 당시의 소스코드 내용으로 복구하실 수도 있습니다.

[ Azure DevOps 소스제어 저장소에 폴더별 권한 구성하기 ]

일반적으로 개발자들이 애용하는 Code Repository (코드 저장소) 의 대세는 Git 이기는 하지만, 여전히 TFVC (Team Foundation Version Control) 를 사용하는 곳도 많습니다.
Git 도 Git 이지만, TFVC (Team Foundation Version Control) 를 쓸 때 몇가지 장점들이 존재한다면, 그 중의 하나가 폴더별 접근권한을 제어할 수 있는 기능을 지원해 준다는 점일 것입니다.Git 인 경우 Branch 를 별도로 만들어두거나 혹은 아예 Repository (코드 저장소) 를 별도로 구성해서 관리하는 방법도 방법일 수 있겠지만, 내부인력과 외부 소싱인력이 뒤섞여 있을 때, 이런 폴더별 권한 관리 기능은 정말 효율적으로 활용할 수 있는 경우가 많습니다.

그럼 TFVC의 폴더별로 접근 제한을 설정하거나 권한을 관리하는 기능을 한번 알아보도록 하겠습니다.​

권한을 설정하실 프로젝트 화면으로 진입하신 후 맨 하단의 [Project Settings (프로젝트 설정)] 버튼을 클릭합니다.

설정화면에서 [Security (보안)] 항목으로 진입 하신 후 [Create Group (그룹 만들기)] 버튼을 클릭합니다.

그리고 접근제한을 할 사용자 할당을 위한 그룹을 생성합니다.

우선, 그룹 생성 후에 프로젝트로의 접근이 가능하도록 하기 위해 첫 번째로 해줘야 할 작업은 “View project-level information (프로젝트 수준 정보 보기)” 항목의 설정 값을 [허용] 으로 변경해주는 작업입니다.

[Members (구성원)] 탭을 선택하신 다음 [+ Add (추가)] 버튼을 클릭합니다.

추가할 사용자의 전자 메일 주소를 텍스트박스에 입력합니다.

[Save Changes (변경 사항 저장)] 버튼을 눌러 권한을 제어할 사용자를 방금 전 생성한 그룹 하위에 할당시켜 줍니다.

설정 → 버전 제어 → 폴더별로 권한을 제어할 리포지토리 선택 → 폴더 선택
권한 제한 그룹이 생성되었다면, 이제 권한을 관리할 폴더로 접근합니다.

상속된 상위 권한을 먼저 해제시킵니다.

그리고 관리할 그룹이나 사용자를 제거합니다.

기본적으로 설정되어 있는 그룹들에 따른 권한 구성이 이미 설정 되어 있으므로 제거하지 않는 경우도 존재합니다만, 우선 아래 첨부된 스크린 샷과 같이 기존에 구성된 권한들을 모두 제거합니다.

지정된 폴더에 방금 전 생성한 그룹을 추가하고 적절한 권한을 설정합니다. (화면에 보이는 권한 구성은 “Contributors (기여자)” 와 동일하게 구성해 본 권한 레벨입니다.)

이제, 아래와 같이 지정된 사용자는 지정된 폴더에만 접근권한을 가지게 되는 것을 확인할 수 있습니다. (다른 폴더는 표시되지도 않을 뿐 더러, 접근 자체도 불가능합니다.)

오늘 이야기는 여기까지 입니다.
긴 글 읽어주셔서 고맙습니다.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: