Team Foundation Server 2017 업데이트 2 릴리스 정보

Last Update: 2017-09-25

이 문서에서는 Team Foundation Server 2017 업데이트 2의 최신 릴리스에 대한 정보를 찾을 수 있습니다. 단추를 클릭하여 다운로드합니다.

<img src="media/tfs_download_button.png"alt="Team Foundation Server의 최신 버전 다운로드">

다른 형식 또는 언어는 다운로드 사이트를 참조하세요.

Team Foundation Server 2017에 대한 자세한 내용은 Team Foundation Server 요구 사항 및 호환성 페이지를 참조하세요.


사용자 의견

Microsoft는 여러분의 의견을 기다리고 있습니다! 개발자 커뮤니티 포털을 통해 문제를 보고하고 추적할 수 있습니다. Visual Studio Team Services 제품 업데이트 사이트를 통해 제안 사항을 보내주세요.


릴리스 날짜: 2017년 7월 24일

TFS 2017 업데이트 2의 업데이트 요약

Team Foundation Server 2017 업데이트 2에 새로운 기능을 많이 추가했습니다. 몇 가지 중요한 기능은 다음과 같습니다.

기능별 개선 사항 영역에서 모든 새 기능에 대한 세부 정보를 확인할 수 있습니다.


이번 릴리스의 새로운 기능

작업 항목 추적의 개선 사항

작업 항목 형식 아이콘

Microsoft는 고객이 원하는 모든 제품을 사용할 수 있게 하겠다고 전 세계에 약속했습니다. 이러한 약속의 일환으로 Microsoft는 키보드 패턴에서 시각 디자인 및 레이아웃에 이르는 여러 접근성 문제를 찾고 해결하기 위해 노력하고 있습니다.

작업 항목 추적은 여러 환경에서 작업 항목 형식을 나타내는 색에만 의존했습니다. 그러나 이 경우 색맹이거나 시력이 낮은 사용자는 색이 유사하여 항목을 구분할 수 없는 문제가 발생합니다. 모든 고객이 작업 항목 형식을 더 잘 읽을 수 있도록 작업 항목 형식에 대한 시각적 언어로 아이콘을 도입했습니다. 다양한 아이콘 라이브러리에서 선택하여 작업 항목 형식을 사용자 지정할 수 있습니다.

백로그 및 쿼리 표에서 형식을 나타내는 색 막대가 색 구분 아이콘으로 바뀌었습니다(그림 1).

<img src="media/tfsu2_01-1.png"; alt="쿼리의 Wit 아이콘" width="650" height="388" style="border:2px solid Silver; display: block; margin: auto;">

(그림 1) 쿼리의 컬러 아이콘

보드의 카드에 이제 형식 아이콘이 포함됩니다(그림 2).

<img src="media/tfsu2_02-2.png"; alt="아이콘 종류가 있는 보드" width="600" height="187" style="border:2px solid Silver; display: block; margin: auto;">

(그림 2) 아이콘 종류가 있는 보드

배달 계획

배달 계획은 반복 기반 일정에서 작업 항목을 추적하여 팀 간 가시성과 맞춤을 향상할 수 있는 조직 도구입니다. 계획을 조정하여 계정의 여러 프로젝트에서 원하는 팀 또는 백로그 수준을 포함할 수 있습니다. 또한 계획의 __필드 조건__을 사용하여 보기를 추가로 사용자 지정하고 __표식__으로 중요한 날짜를 강조 표시할 수 있습니다.

자세히 알아보고 확장을 설치하려면 배달 계획의 Marketplace 페이지를 참조하세요.

인터넷에서 연결이 끊어진 TFS 인스턴스를 사용하는 사용자의 경우, VSTS Marketplace로 이동하지 않고 웹 액세스의 확장 관리 옵션에서 바로 배달 계획을 사용할 수 있습니다. __확장 관리__에서 __로컬 확장명 찾아보기__를 선택한 후 __배달 계획__을 클릭하고 __설치__를 클릭합니다. 자세한 내용은 사전 설치된 확장에 관한 설명서를 참조하세요.

작업 항목과 빌드 간 자동 연결

빌드 정의의 이 새 설정을 사용하면 대량의 빌드 집합을 수동으로 검색하지 않고도 작업을 포함한 빌드를 추적할 수 있습니다. 작업 항목과 연결된 성공한 각 빌드는 작업 항목 폼의 개발 섹션에 자동으로 표시됩니다.

이 기능을 사용하려면 빌드 정의의 옵션 아래에서 설정을 전환합니다(그림 3).

<img src="media/tfsu2_03-3.png"; alt="WIT 빌드 연결" width="600" height="160" style="border:2px solid Silver; display: block; margin: auto;">

(그림 3) WIT 빌드 연결

이전 작업 항목 폼 사용 중단

새 작업 항목 폼에 대한 전반적인 피드백이 긍정적이어서 이제 호스팅 계정에서 100% 채택합니다. VSTS 사용자를 만족하게 한 것과 같은 수준의 기능을 온-프레미스 고객도 활용할 수 있도록, 이전 작업 항목 폼과 이전 확장성 모델의 사용을 중단하기로 했습니다. Microsoft 애플리케이션 수명 주기 관리 페이지에서 계획에 대해 자세히 알아보세요.

작업 항목 검색

작업 항목 검색을 사용하면 컬렉션의 모든 프로젝트에서 작업 항목을 빠르고 유연하게 검색할 수 있습니다(그림 4). 작업 항목 검색 전체 텍스트 검색 엔진을 사용하여 모든 작업 항목 필드의 용어를 쉽게 검색하고 관련 작업 항목을 효율적으로 찾을 수 있습니다. 원하는 작업 항목 필드에서 인라인 검색 필터를 사용하여 작업 항목 목록의 범위를 빠르게 좁힐 수 있습니다.

TFS에 검색 서비스가 구성되어 있으면 다른 항목을 설치할 필요 없이 바로 검색을 시작할 수 있습니다. 작업 항목 검색을 사용하여 다음을 수행할 수 있습니다.

  • 모든 프로젝트에서 검색: 자신과 파트너 팀의 백로그에서 검색합니다. 모든 작업 항목에 대한 프로젝트 간 검색을 사용하여 조직의 전체 작업 항목에서 검색할 수 있습니다. 프로젝트 및 영역 경로 필터를 사용하여 검색 범위를 좁힐 수 있습니다.
  • 모든 작업 항목 필드에서 검색: ere 필드를 비롯한 모든 작업 항목 필드에서 검색하여 관련 작업 항목을 빠르고 쉽게 찾을 수 있습니다. 모든 필드에서 전체 텍스트 검색을 사용하여 관련 작업 항목을 효율적으로 찾을 수 있습니다. 코드 조각 뷰에는 일치 항목을 찾은 위치가 표시됩니다.
  • 특정 필드에서 검색: 원하는 작업 항목 필드에서 빠른 인라인 검색 필터를 사용하여 작업 항목 목록의 범위를 몇 초 안에 좁힐 수 있습니다. 제안 사항 드롭다운 목록을 사용하여 검색을 더 빨리 완료할 수 있습니다. 예를 들어 __AssignedTo:Chris WorkItemType:Bug State:Active__를 검색하면 Chris라는 사용자에게 할당된 모든 활성 버그를 찾습니다.
  • 작업 항목 추적과의 통합 활용: 작업 항목 검색 인터페이스가 작업 허브의 익숙한 컨트롤과 통합되어 있으므로 보고 편집하고 주석을 달고 공유하는 등의 다양한 작업을 할 수 있습니다.

<img src="media/wishero-4.png"; alt="작업 항목 검색" width="800" height="412" style="border:2px solid Silver; display: block; margin: auto;">

(그림 4) 작업 항목 검색

버전 제어 기능 향상

새로운 분기 정책 구성 환경

분기 정책을 구성 환경을 다시 설계하여 몇 가지 유용한 새 기능을 추가했습니다(그림 5). 강력한 기능 중 하나는 분기 폴더에 대한 정책을 구성할 수 있는 기능입니다. 이 작업은 분기 뷰에서 분기 폴더를 선택하고 상황에 맞는 메뉴에서 __분기 정책__을 선택하여 수행할 수 있습니다.

<img src="media/tfsu2_32-5.png"; alt="분기 정책 구성" width="500" height="252" style="border:2px solid Silver; display: block; margin: auto;">

(그림 5) 분기 정책 구성

그러면 분기 폴더의 모든 분기에 적용되는 정책을 구성할 수 있는 새 정책 구성 UX가 열립니다(그림 6).

<img src="media/tfsu2_33-6.png"; alt="정책 페이지" width="700" height="781" style="border:2px solid Silver; display: block; margin: auto;">

(그림 6) 정책 페이지

빌드 정책을 사용하는 경우 이제 하나의 분기에 대해 여러 빌드를 구성할 수 있습니다. 자동 또는 수동 트리거를 지정할 수 있는 새 옵션도 있습니다(그림 7). 수동 트리거는 실행 시간이 길 수 있는 자동 테스트 실행과 같은 작업에 유용하며 끌어오기 요청을 완료하기 전에 한 번만 실행하면 됩니다. 또한 빌드 정책에는 여러 빌드를 구성할 때 유용한 표시 이름도 있습니다.

<img src="media/tfsu2_34-7.png"; alt="수동 빌드" width="375" height="539" style="border:2px solid Silver; display: block; margin: auto;">

(그림 7) 수동 빌드

수동으로 트리거되는 정책을 구성한 경우 끌어오기 요청의 정책 섹션에서 빌드 큐 대기 옵션을 선택하여 실행할 수 있습니다(그림 8).

<img src="media/tfsu2_35-8.png"; alt="수동 빌드 큐" width="400" height="350" style="border:2px solid Silver; display: block; margin: auto;">

(그림 8) 수동 빌드 큐

필수 검토자 정책(그림 9)의 경우 관리자가 정책이 적용될 때 끌어오기 요청 타임라인에 추가되는 메모를 지정할 수 있는 기능을 추가했습니다(그림 10).

<img src="media/tfsu2_36-9.png"; alt="필수 검토자 대화 상자" width="400" height="387" style="border:2px solid Silver; display: block; margin: auto;">

(그림 9) 필수 검토자 대화 상자

<img src="media/tfsu2_37-10.png"; alt="필수 검토자 메모" width="700" height="204" style="border:2px solid Silver; display: block; margin: auto;">

(그림 10) 필수 검토자 메모

활성 주석 없음에 대한 새로운 정책

주석 정책을 사용하여 끌어오기 요청의 모든 주석이 처리되도록 할 수 있습니다. 이 정책을 사용하도록 설정하는 경우 활성 주석이 있으면 PR 완료가 차단되어 모든 주석이 해결되도록 합니다. PR 만든 이에게 주석을 남기되 끌어오기 요청을 긍정적으로 승인하려는 검토자는 만든 이가 병합할 때 어떤 주석도 빠뜨리지 않도록 할 수 있습니다.

파일 허브 기능 향상

파일 허브의 보기 및 편집 환경을 개선하는 여러 업데이트를 만들었습니다.

보기 환경의 경우 현재 폴더에서 추가 정보를 보고(그림 11), Markdown 파일을 미리 보고, 파일을 이전 버전과 비교하고(그림 12), 원인을 볼 수 있는 피벗을 추가했습니다.

<img src="media/tfsu2_14-11.png"; alt="파일 보기" width="550" height="143" style="border:2px solid Silver; display: block; margin: auto;">

(그림 11) 파일 보기

<img src="media/tfsu2_15-12.png"; alt="파일 비교" width="600" height="133" style="border:2px solid Silver; display: block; margin: auto;">

(그림 12) 파일 비교

편집 환경의 경우 이제 변경 사항을 미리 보고, 주석을 쉽게 추가하고, 새 분기에 커밋하고, 작업 항목을 연결할 수 있습니다(그림 13).

<img src="media/tfsu2_16-13.png"; alt="파일 편집" width="600" height="87" style="border:2px solid Silver; display: block; margin: auto;">

(그림 13) 파일 편집

Git 리포지토리 시각화

이제 리포지토리 또는 파일에 대한 커밋 기록을 표시할 때 그래프로 볼 수 있습니다. 따라서 Git 리포지토리에 대한 모든 분기 및 커밋의 멘탈 모델을 Git 그래프를 사용하여 쉽게 만들 수 있습니다(그림 14). 이 그래프에서는 모든 커밋을 토폴로지 순서로 표시합니다.

<img src="media/tfsu2_43-14.png"; alt="Git 그래프" width="800" height="348" style="border:2px solid Silver; display: block; margin: auto;">

(그림 14) Git 그래프

Git 그래프의 주요 요소는 다음과 같습니다(그림 15).

  1. Git 그래프는 오른쪽에 맞추어지므로 기본 분기 또는 선택한 분기와 연결된 커밋은 오른쪽에 표시되고 나머지 그래프는 왼쪽에 표시됩니다.
  2. 병합 커밋은 첫 번째 부모와 두 번째 부모에 연결되는 회색 점으로 표시됩니다.
  3. 일반 커밋은 파란색 점으로 표시됩니다.
  4. 커밋의 부모 커밋이 다음 50개 커밋의 뷰포트에 표시되지 않는 경우 커밋 연결을 삭제합니다. 화살표를 클릭하면 커밋이 부모 커밋에 연결됩니다.

<img src="media/tfsu2_44-15.png"; alt="Git 그래프 요소" width="800" height="189" style="border:2px solid Silver; display: block; margin: auto;">

(그림 15) Git 그래프 요소

커밋의 git 태그 보기

팀에서 Git 태그를 사용하여 리포지토리 기록의 특정 위치를 표시하는 경우 이제 커밋에 만든 태그가 표시됩니다. 커밋 목록 뷰 및 세부 정보 페이지에서 특정 커밋의 태그(그림 16)를 볼 수 있습니다.

<img src="media/tfsu2_45-16.png"; alt="태그 표시" width="800" height="199" style="border:2px solid Silver; display: block; margin: auto;">

(그림 16) 태그 표시

커밋에 태그 추가

명령줄에서 태그를 만들어 리포지토리에 푸시하는 대신 이제 커밋으로 이동하여 태그를 추가하면 됩니다(그림 17). 태그 만들기 대화 상자에서도 리포지토리의 다른 참조에 태그를 지정할 수 있습니다.

<img src="media/tfsu2_46-17.png"; alt="태그 정보 만들기" width="800" height="215" style="border:2px solid Silver; display: block; margin: auto;">

(그림 17) 태그 정보 만들기

커밋 목록 뷰에서는 상황에 맞는 메뉴도 지원합니다(그림 18). 커밋 정보 페이지로 이동하지 않고도 태그를 만들고 새 분기를 만들 수 있습니다(그림 19).

<img src="media/tfsu2_47-18.png"; alt="태그 기록 만들기" width="800" height="207" style="border:2px solid Silver; display: block; margin: auto;">

(그림 18) 태그 기록 만들기

<img src="media/tfsu2_48-19.png"; alt="태그 분기" width="450" height="306" style="border:2px solid Silver; display: block; margin: auto;">

(그림 19) 태그 분기

업데이트된 변경 집합 및 보류 집합 페이지

TFVC에서 변경 집합 및 보류 집합 페이지를 최신화했습니다. 두 페이지 모두 보조 기술을 사용하는 사용자가 더욱 쉽게 사용할 수 있게 되었습니다. 새 페이지에는 변경 집합 제목 및 변경 집합에 대한 만든 이 정보를 비롯한 관련 정보를 포함하는 새 머리글도 있습니다(그림 20).

<img src="media/tfsu2_41-20.png"; alt="변경 집합 페이지" width="800" height="317" style="border:2px solid Silver; display: block; margin: auto;">

(그림 20) 변경 집합 페이지

또한 변경 집합 및 보류 집합 페이지 모두 새 markdown 토론 컨트롤(그림 21)을 호스트하는데, 이 컨트롤을 통해 markdown에 주석을 입력하고, 사용자를 @mention하고, #을 사용하여 작업 항목을 연결하고, 파일과 이미지를 쉽게 첨부할 수 있습니다.

<img src="media/tfsu2_42-21.png"; alt="변경 집합 토론" width="650" height="506" style="border:2px solid Silver; display: block; margin: auto;">

(그림 21) 변경 집합 토론

향상된 커밋 필터링

이제 고급 필터링 옵션으로 커밋 기록 결과를 필터링할 수 있습니다(그림 22). 다음을 기준으로 커밋을 필터링할 수 있습니다.

  • 전체 기록
  • 간단한 병합을 포함한 전체 기록
  • 첫 번째 부모
  • 간단한 기록(기본 필터 설정)

<img src="media/tfsu2_49-22.png"; alt="향상된 커밋 필터링" width="800" height="151" style="border:2px solid Silver; display: block; margin: auto;">

(그림 22) 향상된 커밋 필터링

TFVC에서 Git으로 리포지토리 가져오기

TFVC 리포지토리에서 동일한 계정의 Git 리포지토리로 코드를 마이그레이션할 수 있습니다. 마이그레이션을 시작하려면 리포지토리 선택기 드롭다운에서 __리포지토리 가져오기__를 선택합니다(그림 23).

<img src="media/tfsu2_50.png"; alt="리포지토리 선택기 드롭다운" width="239" height="312" style="border:2px solid Silver; display: block; margin: auto;">

(그림 23) 리포지토리 선택기 드롭다운

개별 폴더 또는 분기를 Git 리포지토리를 가져오거나 전체 TFVC 리포지토리를 가져올 수 있습니다(분기 제외)(그림 24). 최대 180일 동안의 기록을 가져올 수도 있습니다.

<img src="media/tfsu2_51.png"; alt="리포지토리 가져오기 완료" width="437" height="462" style="border:2px solid Silver; display: block; margin: auto;">

(그림 24) 리포지토리 가져오기 완료

Git LFS 파일 잠금

Git LFS 파일 잠금 기능을 추가했습니다. 따라서 차이점 비교 불가능한 대형 파일을 작업하는 팀에서 두 명 이상의 사용자가 같은 파일을 동시에 편집할 때 작업이 손실되는 문제를 방지할 수 있습니다. 사용자는 파일을 편집하기 전에 잠가서 서버에 알립니다. 다른 사용자가 잠그려고 하면 서버에서 요청을 거부하고 해당 파일을 다른 사용자가 이미 작업하고 있음을 두 번째 사용자에게 알립니다. 이 기능을 사용하려면 Git LFS 2.1 이상으로 업그레이드하세요.

Git 커밋 주석에서 새 토론 컨트롤 사용

Git 커밋에 있는 간단한 주석이 새 토론 컨트롤을 사용하도록 업데이트되었습니다. 따라서 이러한 주석에서 Markdown이 지원되며 웹에서 모든 코드 주석 처리 기능이 완전해져서 Git 및 TFVC 모두가 최신 환경을 사용할 수 있습니다.

새 트리 뷰 컨트롤

끌어오기 요청 파일 뷰, Git 커밋 정보, Git 푸시 정보, TFVC 보류 집합 정보, TFVC 변경 집합 정보, TFVC 변경 집합 허브 및 Git 기록 허브가 새 트리 뷰 컨트롤로 업데이트되었습니다(그림 25). 트리 뷰의 유용성이 일부 개선됩니다. 우선, 빈 폴더 노드를 자동으로 축소하고 뷰에 있는 파일 수를 극대화하는 압축된 트리 뷰를 표시하도록 뷰를 변경했습니다.

또한 트리에서 주석이 보다 간결하게 표시됩니다. 주석이 있는 파일에는 각 주석 스레드의 자식 항목이 표시되고, 스레드를 만든 사용자를 나타내는 아바타가 함께 표시됩니다. 새 주석 스레드 및 회신이 있는 스레드는 파란색 점으로 표시되고 회신 수가 수로 요약되어 있습니다.

<img src="media/tfsu2_40.png"; alt="새 트리 뷰" width="448" height="634" style="border:2px solid Silver; display: block; margin: auto;">

(그림 25) 새 트리 뷰

끌어오기 요청 개선 사항

PR 만든 이 및 검토자를 위해 개선된 CTA

분기 정책을 사용하는 팀의 경우, 끌어오기 요청을 볼 때 필요한 작업이 무엇인지 정확히 알기 어려운 경우가 때때로 있습니다. 예를 들어, 주요 행동 유도 문구가 완료 단추인 경우 완료할 수 있다는 의미인가요? 이제 PR 뷰에서는 페이지를 보고 있는 사용자와 구성된 분기 정책 상태에 대한 정보를 사용하여 해당 사용자에게 가장 적합한 행동 유도 문자를 표시합니다.

정책이 구성되어 있지만 아직 통과되지 않은 경우 완료 단추(그림 26)에서는 자동 완성 기능을 사용하도록 권장합니다. 정책이 차단되는 경우 PR을 완료할 수 있을 것 같지 않으므로 이러한 정책이 마침내 통과될 때 PR을 완료하는 옵션을 제공합니다.

<img src="media/tfsu2_62.png"; alt=" 자동 완성 기능" width="502" height="65" style="border:2px solid Silver; display: block; margin: auto;">

(그림 26) 자동 완성 기능

검토자의 경우 PR을 완료하기보단 승인하는 경우가 많으므로 아직 승인하지 않은 경우 검토자에게 승인 단추(그림 27)가 기본 CTA로 강조 표시됩니다.

<img src="media/tfsu2_20.png"; alt="CTA 승인" width="566" height="65" style="border:2px solid Silver; display: block; margin: auto;">

(그림 27) CTA 승인

승인하면 검토자도 PR을 완료하는 사용자인 사례의 경우 검토자에게 완료(또는 자동 완성) 단추가 CTA로 강조 표시됩니다.

실행 가능한 주석

주석이 여러 개인 PR에서는 모든 대화를 계속 추적하기가 어려울 수 있습니다. 주석을 보다 잘 관리할 수 있도록 해결된 항목을 확인하는 프로세스를 다음과 같은 몇 가지 개선 사항을 통해 간소화했습니다.

  • 모든 PR의 헤더에 해결된 주석의 수가 표시됩니다(그림 28).

<img src="media/tfsu2_22.png"; alt="PR 헤더" width="800" height="61" style="border:2px solid Silver; display: block; margin: auto;">

(그림 28) PR 헤더

  • 주석이 해결된 경우 한 번 클릭으로 확인할 수 있습니다(그림 29).

<img src="media/tfsu2_24-29.png"; alt="확인 단추" width="600" height="165" style="border:2px solid Silver; display: block; margin: auto;">

(그림 29) 확인 단추

  • 확인하는 중 추가할 주석이 있으면 회신과 확인을 하나의 제스처로 수행할 수 있습니다(그림 30).

<img src="media/tfsu2_25-30.png"; alt="회신 및 확인" width="600" height="258" style="border:2px solid Silver; display: block; margin: auto;">

(그림 30) 회신 및 확인

  • 주석을 확인하면 모든 주석이 해결될 때까지 수가 증가합니다(그림 31).

<img src="media/tfsu2_26-31.png"; alt="주석 수 해결률" width="600" height="42" style="border:2px solid Silver; display: block; margin: auto;">

(그림 31) 주석 수 해결률

  • 개요의 필터가 개선되어 다양한 주석 상태별로 필터링할 수 있고 각 필터 옵션에 대한 주석 수를 표시할 수 있습니다(그림 32).

<img src="media/tfsu2_23.png"; alt="필터 개성 사항" width="225" height="241" style="border:2px solid Silver; display: block; margin: auto;">

(그림 32) 필터 개성 사항

업데이트 뷰에 다시 지정 및 강제 보내기 표시

끌어오기 요청 정보 뷰의 업데이트 탭이 개선되어 강제 보내기가 발생한 경우와 기본 커밋이 변경된 경우 표시됩니다(그림 33). 이 두 기능은 PR을 완료하기 전에 토픽 분기에서 변경 사항을 다시 지정하는 경우에 정말 유용합니다. 이제 검토자에게 어떤 일이 일어났는지 정확히 알 수 있도록 충분한 정보가 제공됩니다.

<img src="media/tfsu2_30-33.png"; alt="업데이트 뷰" width="700" height="344" style="border:2px solid Silver; display: block; margin: auto;">

(그림 33) 업데이트 뷰

사용자별 끌어오기 요청 필터링

이제 끌어오기 요청을 더 쉽게 찾을 수 있습니다. 특정 만든 이가 만들거나 특정 검토자에게 할당된 PR을 찾을 수 있는 새 필터링 옵션을 추가했습니다(그림 34). 만든 이 또는 검토자 필터에서 사용자를 간단히 선택하면 목록이 업데이트되어 필터와 일치하는 PR만 표시됩니다.

<img src="media/tfsu2_29-34.png"; alt="사용자별 필터링" width="700" height="126" style="border:2px solid Silver; display: block; margin: auto;">

(그림 34) 사용자별 필터링

끌어오기 요청 정책을 무시하는 경우 이유 필요

끌어오기 요청 정책을 무시하는 경우 이유를 지정해야 합니다. 정책을 무시하도록 선택하는 경우 끌어오기 요청 완료 대화 상자에 새 이유 필드가 표시됩니다(그림 35).

<img src="media/tfsu2_38-35.png"; alt="무시 대화 상자" width="450" height="425" style="border:2px solid Silver; display: block; margin: auto;">

(그림 35) 무시 대화 상자

이유를 입력하고 끌어오기 요청을 완료하면 __개요__에 메시지가 표시됩니다(그림 36).

<img src="media/tfsu2_39-36.png"; alt="무시 메시지" width="700" height="54" style="border:2px solid Silver; display: block; margin: auto;">

(그림 36) 무시 메시지

팀과 끌어오기 요청 공유

끌어오기 요청 공유 작업을 통해 간편하게 검토자에게 요청에 대해 알릴 수 있습니다(그림 37). 이 릴리스에서는 팀 및 그룹에 대한 지원이 추가되어 단 한 단계 실행만으로 끌어오기 요청과 관련된 모두에게 알림을 제공할 수 있습니다.

<img src="media/tfsu2_17-37.png"; alt="팀과 PR 공유" width="500" height="457" style="border:2px solid Silver; display: block; margin: auto;">

(그림 37) 팀과 PR 공유

팀 지원을 위한 끌어오기 요청 향상

한 사용자가 여러 팀의 구성원인 경우 이러한 팀에 할당된 모든 PR이 내 끌어오기 요청 보기에 나열됩니다(그림 38). 이제 내 끌어오기 요청 보기 한 곳만 방문하면 작업해야 할 모든 PR을 볼 수 있습니다.

<img src="media/tfsu2_18-38.png"; alt="팀 지원을 위한 PR 향상" width="800" height="383" style="border:2px solid Silver; display: block; margin: auto;">

(그림 38) 팀 지원을 위한 PR 향상

이후 릴리스에서는 단일 프로젝트의 모든 PR을 쉽게 볼 수 있도록 Code__의 __끌어오기 요청 허브에 팀이 추가될 것입니다.

끌어오기 요청 설명에 대한 기본 알림

새 설명 알림을 통해 PR에서 발생하는 대화에 대한 최신 정보를 지속해서 확인할 수 있습니다(그림 39). 직접 만든 PR의 경우 사용자들이 새 설명 스레드를 추가하거나 기존 스레드에 회신할 때마다 자동으로 알림을 받게 됩니다. 다른 사용자의 PR에 대해 설명을 작성하면 직접 만들거나 회신한 설명 스레드에 대한 이후의 모든 회신에 대해 알림을 받게 됩니다.

<img src="media/tfsu2_19-39.png"; alt="기본 PR 알림" width="450" height="299" style="border:2px solid Silver; display: block; margin: auto;">

(그림 39) 기본 PR 알림

이러한 알림은 기본 구독의 일부로 사용할 수 있으며 알림 설정 페이지에서 구성할 수 있습니다.

패키지 관리 향상

업데이트된 패키지 관리 환경

패키지 관리 사용자 환경이 업데이트되어 속도가 더욱 빨라지고, 사용자가 보고한 공통 문제가 해결되었으며, 예정된 패키지 수명 주기 기능에 필요한 공간이 만들어졌습니다(그림 40). 업데이트된 환경 페이지에서 업데이트에 대해 자세히 알아보세요.

<img src="media/tfsu2_04-40.png"; alt="패키지 관리" width="700" height="238" style="border:2px solid Silver; display: block; margin: auto;">

(그림 40) 패키지 관리

패키지 관리에 npm 추가 정보 및 다운로드 단추 추가

이제 패키지에서 README.md가 포함된 npm 패키지 추가 정보를 볼 수 있습니다(그림 41). 추가 정보는 팀에서 패키지에 대한 정보를 문서화하고 공유하는 데 도움이 될 수 있습니다.

명령 모음의 다운로드 단추를 사용하여 npm 패키지를 다운로드할 수도 있습니다.

<img src="media/tfsu2_05.png"; alt="패키지 관리 npm 추가 정보 " width="800" height="426" style="border:2px solid Silver; display: block; margin: auto;">

(그림 41) 패키지 관리 npm 추가 정보

NuGet 복원 및 NuGet 명령 빌드 작업

NuGet 설치 관리자(이제 NuGet 복원__이라고 함) 작업에 대한 주요 업데이트가 수행되었으며 __NuGet 명령__이라는 새로운 NuGet 작업이 추가되었습니다. 가장 주목할 만한 사항은 __NuGet 명령NuGet 복원 작업에서 이제 기본적으로 nuget.exe 4.0.0을 사용한다는 것입니다.

__NuGet 복원__은 Visual Studio 빌드 단계 전에 패키지를 복원하는 가장 일반적인 시나리오에 맞게 최적화되어 있습니다. 단일 NuGet 피드를 공유하는 소규모 프로젝트에 대한 지원도 향상되어, 이제 Team Services 피드를 선택하여 자동 생성 NuGet.Config에 추가할 수 있습니다.

더욱 복잡한 NuGet 작업의 경우 NuGet 명령 작업을 통해 유연하게 명령 및 인수 집합을 지정할 수 있습니다(그림 42).

<img src="media/tfsu2_06-42.png"; alt="NuGet 명령" width="600" height="374" style="border:2px solid Silver; display: block; margin: auto;">

(그림 42) NuGet 명령

빌드 및 릴리스 향상

새 빌드 정의 편집기

빌드 정의 편집기를 다시 디자인하여 더욱 편리하고 직관적인 환경을 제공하고 일부 문제점을 해결하며 새 기능을 추가했습니다. 사용자가 더욱 쉽게 템플릿을 사용하고, 작업을 추가하고, 설정을 변경할 수 있게 되었습니다. 또한 이제 프로세스 매개 변수를 사용하여 복잡한 작업 없이 쉽게 가장 중요한 데이터를 지정할 수 있습니다.

템플릿 검색

원하는 템플릿을 검색하여 적용하거나 빈 프로세스를 시작하세요(그림 43).

<img src="media/tfsu2_09-43.png"; alt="빌드 템플릿 검색" width="600" height="248" style="border:2px solid Silver; display: block; margin: auto;">

(그림 43) 빌드 템플릿 검색

작업을 빠르게 찾아 원하는 위치에 추가

사용할 작업을 검색하여 찾으면 왼쪽에 있는 현재 선택된 작업 다음에 추가하거나 원하는 위치로 끌어서 놓을 수 있습니다(그림 44).

<img src="media/tfsu2_10-44.png"; alt="빌드 작업 검색" width="600" height="473" style="border:2px solid Silver; display: block; margin: auto;">

(그림 44) 빌드 작업 검색

또한 작업을 끌어서 놓아 이동하거나, Ctrl 키를 누른 상태에서 끌어서 놓아 복사할 수 있습니다.

프로세스 매개 변수를 사용하여 작업에 키 인수 전달

이제 빌드 정의 또는 템플릿을 사용하는 사용자가 프로세스 매개 변수(그림 45)를 사용하여 복잡한 작업 없이 쉽게 가장 중요한 데이터를 지정할 수 있습니다.

<img src="media/tfsu2_11-45.png"; alt="프로세스 매개 변수" width="600" height="467" style="border:2px solid Silver; display: block; margin: auto;">

(그림 45) 프로세스 매개 변수

기본 제공 템플릿 중 일부(예: Visual StudioMaven)에서 새 빌드를 만들면 작동 방식을 확인할 예를 볼 수 있습니다.

새 편집기에는 소스 설정에 대한 빠른 액세스 제공 등 다른 몇 가지 향상된 기능도 포함되어 있습니다.

새 편집기를 사용하여 첫 번째 빌드 정의를 만드는 연습을 보려면 CI/CD for newbies(초보자를 위한 CI/CD)를 참조하세요.

2017 사용자 환경 페이지에서 자세한 내용을 알아보세요.

조건부 빌드 작업

오류가 있는 경우 메시지를 보내거나 정리를 수행하는 작업과 같이 빌드 작업을 더 세밀하게 제어하도록 네 가지 기본 제공 옵션이 제공되어 작업이 실행되는 경우를 제어할 수 있습니다(그림 46).

<img src="media/tfsu2_07-46.png"; alt="조건부 빌드 작업" width="600" height="300" style="border:2px solid Silver; display: block; margin: auto;">

(그림 46) 조건부 빌드 작업

특정 분기에서만 실행되거나, 특정 트리거를 사용하여 실행되거나, 특정 조건에서만 실행되는 작업과 같이 더욱 유연한 제어가 필요한 경우 다음과 같이 고유한 사용자 지정 조건을 표시할 수 있습니다.

and(failed(), eq(variables['Build.Reason'], 'PullRequest'))

Specify conditions for running a task(작업 실행 조건 지정) 페이지를 참조하세요.

컨테이너 기반 응용 프로그램 빌드 및 배포를 위한 기본 제공 작업

이 릴리스에서는 기본적으로 Docker 확장의 작업을 대부분 제품으로 가져와 개선했으며, 더욱 쉬운 컨테이너 시나리오를 위해 새로운 여러 작업 및 템플릿을 도입했습니다.

  • Docker: Docker 이미지를 빌드하거나, 푸시하거나, 실행합니다. 또는 Docker 명령을 실행합니다. 이 작업은 Docker 또는 Azure Container Registry와 함께 사용할 수 있습니다. 이제 ACR을 사용하는 기본 제공 서비스 주체 인증을 통해 사용 편의성을 더욱 높일 수 있습니다.
  • Docker Compose: 다중 컨테이너 Docker 응용 프로그램을 빌드하거나, 푸시하거나, 실행합니다. 이 작업은 Docker 또는 Azure Container Registry와 함께 사용할 수 있습니다.
  • Kubernetes: kubectl 명령을 실행하여 Azure Container Service의 Kubernetes 클러스터를 배포하거나, 구성하거나, 업데이트합니다.
  • Service Fabric: 컨테이너를 Service Fabric 클러스터에 배포합니다. Service Fabric은 클라우드에서 Windows 컨테이너를 실행하는 데 가장 적합한 제품입니다.

Azure 웹앱 배포 업데이트

Azure 웹 응용 프로그램의 여러 기능이 다음과 같이 향상되었습니다.

  • Azure App Service 배포 작업에서 Java WAR 파일, Node.js, Python 및 PHP 응용 프로그램 배포를 지원합니다.
  • Azure App Service 배포 작업에서 컨테이너를 사용하는 Linux용 Azure 웹앱에 대한 배포를 지원합니다.
  • Azure Portal의 지속적인 업데이트가 확장되어 노드 응용 프로그램을 지원합니다.
  • Azure App Service 관리 작업이 Azure App Service에 대한 시작, 중지, 다시 시작 또는 슬롯 교환에 추가되었습니다. 또한 필요한 PHP 또는 Python 버전 설치를 지원하는 사이트 확장 설치나 IIS 관리자 또는 Application Insights 설치도 지원합니다.

CI/CD 구성을 위해 최신 Azure CLI 버전에 CI/CD 지원도 도입했습니다. 예를 들면 다음과 같습니다.

az appservice web source-control config --name mywebapp --resource-group mywebapp_rg --repo-url https://myaccount.visualstudio.com/myproject/_git/myrepo --cd-provider vsts --cd-app-type AspNetCore

.NET Core 작업에서 프로젝트 파일 지원

최신 업데이트에서는 project.json 외에도 *.csproj 파일을 지원하도록 .NET Core 작업이 개선되었습니다. 이제 빌드 에이전트의 Visual Studio 2017에서 csproj 파일을 사용하여 .NET Core 응용 프로그램을 빌드할 수 있습니다.

SSH 배포 향상

Copy Files Over SSH build/release(SSH 빌드/릴리스를 통해 파일 복사) 작업에서 이제 대상 경로에 물결표(~)를 사용할 수 있으므로 원격 사용자의 홈 디렉터리에 파일을 복사하는 작업이 간소화됩니다. 새 옵션을 사용하면 복사할 파일이 없는 경우 빌드/릴리스에 오류가 발생할 수 있습니다.

SSH 빌드/릴리스 작업은 이제 원격 Linux 또는 macOS 컴퓨터에서 Windows 줄 끝이 사용된 스크립트의 실행을 지원합니다.

빌드 또는 릴리스 중 SSH 키 설치

새 미리 보기 작업인 __SSH 키 설치(미리 보기)__는 빌드 또는 릴리스 전에 SSH 키를 설치하고 빌드 또는 릴리스가 완료되면 에이전트에서 SSH 키를 제거합니다. 설치된 키를 사용하여 Git 리포지토리 또는 하위 모듈에서 코드를 페치하거나 배포 스크립트 또는 SSH 인증이 필요한 다른 작업을 실행할 수 있습니다. 앞으로 암호 및 다른 기능을 지원하도록 향상될 것입니다.

Visual Studio 2017이 지정되었지만 에이전트에 없는 경우 작업이 실패함

Visual Studio Build(Visual Studio 빌드) 및 MSBuild 작업을 통해 특정 버전의 Visual Studio를 선택할 수 있습니다. 지금까지는 Visual Studio 2017 버전을 사용할 수 없는 경우 이러한 작업에서 자동으로 사용 가능한 다음 버전을 선택했습니다.

이러한 동작이 변경되었습니다. 이제는 Visual Studio 2017을 선택했으나 에이전트에 없는 경우 빌드가 실패합니다.

이렇게 변경한 이유는 다음과 같습니다.

  • .NET Core와 같은 최신 앱 유형은 이전 빌드 도구로 컴파일되지 않습니다. 최신 앱 유형에는 Visual Studio 2017 이상이 명시적으로 필요합니다.

  • 정확히 동일한 버전의 Visual Studio를 사용하는 경우 더욱 일관성 있고 예측 가능한 결과를 얻게 됩니다.

  • 빌드 작업을 대체할 때마다 이해하기 어려운 컴파일 오류가 발생할 수 있습니다.

이전 버전의 Visual Studio만 있는 에이전트가 아니라 Visual Studio 2017이 있는 에이전트가 포함된 풀과 연결된 큐를 사용하는지 확인하세요.

사용자 에이전트 자동 작업 영역 정리

에이전트 풀을 구성하여 부실 작업 디렉터리 및 리포지토리를 정기적으로 정리할 수 있습니다(그림 47). 예를 들어 이 풀에서 빌드 및 릴리스 정의 삭제 후 남아 있는 작업 영역을 삭제합니다.

<img src="media/tfsu2_08-47.png"; alt="에이전트 유지 관리" width="600" height="386" style="border:2px solid Silver; display: block; margin: auto;">

(그림 47) 에이전트 유지 관리

이 옵션을 사용하면 사용자 빌드 및 릴리스 에이전트에서 디스크 공간이 부족해질 가능성이 줄어듭니다. 하지만 유지 관리는 컴퓨터 단위로 수행되지 않고 에이전트 단위로 수행되므로 하나의 컴퓨터에 여러 개의 에이전트가 있으면 여전히 디스크 공간 문제가 발생할 수 있습니다.

빌드 에이전트 업그레이드 상태

에이전트를 업그레이드하는 경우 큐 및 풀 관리 포털에 업그레이드 상태가 표시됩니다.

사용 중이 아닌 컴퓨터의 사용자 에이전트 선택

이제 시스템에서 사용자 에이전트에 빌드 또는 릴리스를 할당할 때 컴퓨터 이름을 요소로 사용합니다. 따라서 시스템에서 작업 할당 시 사용 중인 컴퓨터의 에이전트보다 유휴 컴퓨터의 에이전트가 먼저 사용됩니다.

iOS DevOps 향상

Apple App Store 확장에서 이제 2단계 인증과 외부 테스터로 빌드를 릴리스하는 작업을 지원합니다(그림 48).

<img src="media/tfsu2_12-48.png"; alt="Apple 앱 스토어 연결" width="450" height="292" style="border:2px solid Silver; display: block; margin: auto;">

(그림 48) Apple 앱 스토어 연결

__Apple 인증서 설치(미리 보기)__는 후속 Xcode 또는 Xamarin.iOS 빌드에서 사용할 에이전트에 P12 서명 인증서를 설치하는 새 빌드 작업입니다.

__Apple 프로파일 설치(미리 보기)__는 후속 Xcode 또는 Xamarin.iOS 빌드에서 사용할 프로비전 프로필을 에이전트에 설치하는 새로운 빌드 작업입니다.

이제 MSBuild, Xamarin.Android 및 Xamarin.iOS 빌드 작업에서 Mac용 Visual Studio 도구 집합을 사용한 빌드를 지원합니다.

Java 코드 검사 기능 향상

코드 검사 결과 게시 빌드 작업은 빌드의 일부로 Cobertura 또는 JaCoCo 코드 검사를 보고합니다. 이제 요약 파일보고서 디렉터리 필드에서 와일드카드 및 minimatch 패턴을 지정하여 빌드 간에 변경되는 경로에 대해 빌드 단위로 파일 및 디렉터리를 확인할 수 있습니다.

Maven 및 SonarQube 기능 향상

이제 Maven 빌드 작업에서 Maven pom.xml 파일에 지정된 것과 다른 경우 분석 결과에 대해 SonarQube 프로젝트를 지정할 수 있습니다.

향상된 Jenkins 통합

Jenkins 작업을 큐에 넣기 빌드/릴리스 작업에서 Team Services에 Jenkins 콘솔 출력을 표시하는 동시에 Jenkins 다중 분기 파이프라인 작업을 실행할 수 있습니다(그림 49). 파이프라인 결과는 Team Services 빌드 요약에 게시됩니다.

<img src="media/tfsu2_13.png"; alt="Improved Jenkins integration" width="336" height="314" style="border:2px solid Silver; display: block; margin: auto;">

(그림 49) 향상된 Jenkins 통합

Azure 가상 컴퓨터 확장 집합 배포

배포에 사용되는 일반적인 패턴은 응용 프로그램의 각 버전에 대한 전체 컴퓨터 이미지를 만든 다음 배포하는 것입니다. 새로운 변경할 수 없는 컴퓨터 이미지 빌드 작업을 통해 더 쉽게 수행할 수 있습니다. 이 작업에서는 응용 프로그램 및 모든 필수 구성 요소를 배포한 후 Packer를 사용하여 컴퓨터 이미지를 생성합니다. 또한 배포 스크립트나 Packer 구성 템플릿을 사용하여 컴퓨터 이미지를 만든 다음 Azure Storage 계정에 저장합니다. 그런 다음 이러한 유형의 변경할 수 없는 이미지 배포에서 잘 작동하는 Azure 가상 컴퓨터 확장 집합 배포에 이 이미지를 사용할 수 있습니다.

Azure 리소스 그룹 배포에서 템플릿 매개 변수 재정의

현재 Azure 리소스 그룹 배포 작업에서 사용자는 특정 구문에 따라 template.json 및 parameters.json을 선택하고 텍스트 상자에 매개 변수 재정의 값을 제공합니다. 이제 이 기능이 향상되어 템플릿 매개 변수가 편집하고 재정의할 수 있는 눈금에서 렌더링됩니다(그림 50). 매개 변수 재정의 필드 옆에 있는 __...__을 클릭하여 이 기능에 액세스할 수 있습니다. 그러면 템플릿 매개 변수와 기본값 및 허용된 값(template 및 parameter .json 파일에 정의된 경우)이 함께 표시되는 대화 상자가 열립니다. 이 기능을 사용하려면 소스에서 CORS 규칙을 사용해야 합니다. template 및 parameter json 파일이 Azure Storage Blob에 있는 경우 Azure Storage 서비스 설명서를 참조하여 CORS를 사용하도록 설정하세요.

<img src="media/tfsu2_56-50.png"; alt="Azure RG parameters" width="625" height="524" style="border:2px solid Silver; display: block; margin: auto;">

(그림 50) Azure RG 매개 변수

분기 및 태그 필터가 있는 여러 릴리스 트리거

이제 Release Management에서 “빌드” 형식의 여러 아티팩트 소스에 CD 트리거를 설정할 수 있습니다. 추가할 경우 지정된 아티팩트 소스에 새 아티팩트 버전을 사용할 수 있으면 새 릴리스가 자동으로 생성됩니다. 새 빌드의 소스 분기를 지정하여 릴리스를 트리거할 수도 있습니다. 또한 태그 필터를 설정하여 릴리스를 트리거해야 하는 빌드를 추가로 필터링할 수 있습니다.

릴리스에서 아티팩트 소스에 대한 기본값 설정

사용자는 정의에서 아티팩트 소스를 연결할 때 릴리스에서 배포할 기본 아티팩트 버전을 정의할 수 있습니다(그림 51). 릴리스가 자동으로 생성되면 모든 아티팩트 소스에 대해 기본 버전이 배포됩니다.

<img src="media/tfsu2_58-51.png"; alt="Default artifact version" width="450" height="410" style="border:2px solid Silver; display: block; margin: auto;">

(그림 51) 기본 아티팩트 버전

배포 요청자 및 승인자의 의무 분리

이전에는 릴리스 작성자가 환경에 대한 릴리스 배포를 승인하는 것을 환경 소유자가 제한할 수 있었습니다. 그러나 다른 사용자가 만든 릴리스는 배포를 수동으로 시작하고 직접 승인할 수 있었습니다.

이제 배포 작성자를 배포를 위한 별도의 사용자 역할로 간주하여 이러한 차이를 해결했습니다. 릴리스 작성자나 배포 작성자의 배포 승인을 제한할 수 있습니다.

릴리스 수준 승인

이제 다른 환경에 성공적으로 배포한 후 자동으로 트리거된 배포를 자동으로 승인하도록 선택할 수 있습니다(그림 52). 일부 배포를 승인하지 않도록 선택한 경우 승인자가 동일한 일련의 배포를 한 번에 승인할 수 있습니다.

배포 전 승인자가 “userA”와 “userB”로 설정되고, 모두 배포를 승인해야 하는 Dev와 Test라는 두 환경이 있다고 가정해 보겠습니다. Test에 대한 정책이 아래와 같이 설정된 경우 배포 시간 동안에는 userA와 userB가 Dev만 승인하기에 충분합니다. Test에 대한 배포는 자동 승인됩니다. Test에 대한 배포가 수동으로 트리거될 경우 올바른 승인을 보장하려면 배포 전에 승인해야 합니다.

<img src="media/tfsu2_57.png"; alt="Release level approvals" width="650" height="534" style="border:2px solid Silver; display: block; margin: auto;">

(그림 52) 릴리스 수준 승인

Azure Government 클라우드에 배포

이제 Government 클라우드에 대한 Azure 구독이 있는 고객은 국가별 클라우드를 대상으로 하도록 Azure Resource Manager 서비스 끝점을 구성할 수 있습니다.

따라서 Release Management를 사용하면 동일한 배포 작업을 통해 Government 클라우드에서 호스트되는 Azure 리소스에 응용 프로그램을 배포할 수 있습니다(그림 53).

<img src="media/tfsu2_55-53.png"; alt="Government cloud" width="500" height="507" style="border:2px solid Silver; display: block; margin: auto;">

(그림 53) Government 클라우드

최대 병렬 배포 수 설정

이 기능을 통해 보류 중인 여러 릴리스가 지정된 환경에 배포되는 방식을 제어할 수 있습니다(그림 54). 예를 들어 릴리스 파이프라인이 QA 환경에서 빌드의 유효성 검사를 수행하는 경우 빌드 생성 속도가 배포 완료 속도보다 빠르면 여러 에이전트와 병렬로 유효성 검사되는 빌드 수를 구성할 수 있습니다. 즉, 생성된 각 빌드의 유효성을 검사하며 대기 시간은 사용 가능한 에이전트 수에 따라 달라집니다. 이 기능을 사용하면 가장 최근의 n개 빌드에 대해 병렬로 유효성 검사를 수행하도록 하여 유효성 검사를 최적화하고 이전 배포 요청을 취소할 수 있습니다.

<img src="media/tfsu2_60-54.png"; alt="Parallel deployments" width="600" height="441" style="border:2px solid Silver; display: block; margin: auto;">

(그림 54) 병렬 배포

수동 작업에 대한 시간 제한 향상

__수동 작업__은 지정된 시간 제한이나 60일 중 더 빨리 끝나는 기간에 보류 중이면 그 후에 자동으로 거부하거나 다시 시작할 수 있습니다. 시간 제한 값은 작업의 제어 옵션 섹션에서 지정할 수 있습니다.

Release Management 병렬 실행

Release Management에서 단계에 대한 병렬 실행 옵션을 지원합니다(그림 55). 다중 구성이나 다중 에이전트를 단계 승수 옵션으로 사용하여 단계를 팬아웃하려면 이 옵션을 선택합니다.

<img src="media/tfsu2_61-55.png"; alt="Parallel execution support" width="600" height="146" style="border:2px solid Silver; display: block; margin: auto;">

(그림 55) 병렬 실행 지원

다중 구성: 각 다중 구성 값에 대해 단계를 실행하려면 이 옵션을 선택합니다. 예를 들어 두 개의 다른 지역에 동시에 배포하려는 경우 [변수] 탭에서 “east-US, west-US” 값으로 정의된 ReleasePlatform 변수를 사용하면 값이 “east-US”인 단계와 “west-US”인 단계가 병렬로 실행됩니다. 다중 에이전트: 여러 에이전트에 하나 이상의 작업이 있는 단계를 병렬로 실행하려면 이 옵션을 선택합니다.

Azure Portal의 웹앱 배포 기록

App Service 배포 작업을 사용하여 배포를 수행하면 Release Management에서 Azure App Service의 배포 로그를 업데이트합니다. Azure Portal의 App Service 블레이드에서 지속적인 업데이트 옵션을 선택하여 배포 기록을 볼 수 있습니다.

테스트 기능 향상

에이전트 단계를 사용하여 테스트 실행

__Visual Studio 테스트 작업__을 사용하면 에이전트 단계를 사용하여 자동화된 테스트를 실행할 수 있습니다(그림 56).

이제 빌드, 릴리스 및 테스트 전체에서 통합된 자동화 에이전트를 사용할 수 있습니다. 이 기능은 다음과 같은 이점을 제공합니다.

  1. 테스트 요구 사항에 맞게 에이전트 풀을 활용할 수 있습니다.
  2. 동일한 __Visual Studio 테스트 작업__을 사용하여 단일 에이전트 기반 실행, 다중 에이전트 기반 배포 테스트 실행, 다중 구성 실행 등 요구에 따라 다양한 모드로 테스트를 실행하여 다양한 브라우저에서 테스트를 실행합니다.—––

<img src="media/tfsu2_53-56.png"; alt="Run tests using Agent Phases " width="600" height="434" style="border:2px solid Silver; display: block; margin: auto;">

(그림 56) 에이전트 단계를 사용하여 테스트 실행

자세한 내용은 이 Microsoft 애플리케이션 수명 주기 관리 게시물을 참조하세요.

자동화된 테스트의 요청 시 트리거

테스트 허브는 테스트 계획 및 테스트 도구 모음에서 자동화된 테스트 사례 트리거를 지원합니다(그림 57). 테스트 허브에서 자동화된 테스트를 실행하려면 릴리스 환경에서 예약된 방식으로 테스트를 실행하는 방법과 유사한 설정이 필요합니다. Run automated tests from test plans(테스트 계획에서 자동화된 테스트 실행) 템플릿을 사용하여 릴리스 정의에서 환경을 설정하고 테스트 계획을 연결하여 자동화된 테스트를 실행해야 합니다. 환경을 설정하고 테스트 허브에서 자동화된 테스트를 실행하는 방법에 대한 단계별 지침은 설명서를 참조하세요.

<img src="media/tfsu2_54.png"; alt="On-demand automated tests trigger" width="721" height="408" style="border:2px solid Silver; display: block; margin: auto;">

(그림 57) 요청 시 자동화된 테스트 트리거

웨어하우스 개선 사항

Analysis Services 큐브 처리의 성능 개선

링크를 기반으로 작업 항목 트리 계층 구조 차원을 만드는 데 사용되는 vDimWorkItemTreeOverlay 보기에 대한 성능이 개선되었습니다. 성능이 System.LinkTypes.Hierarchy 링크에 따라 달라지기는 하지만, 처리 기간은 다른 링크(예: System.LinkTypes.Related)의 영향도 받는 것으로 관찰되었습니다. 읽는 데이터의 양을 제한하는 링크 형식 추가를 건너뛰도록 보기를 최적화했습니다. 이 변경으로 특정 웨어하우스의 처리 시간이 크게 줄어듭니다.

대/소문자를 구분하지 않는 스키마 조정

웨어하우스 데이터베이스의 스키마는 스키마 조정 프로세스에서 모든 연결된 컬렉션 데이터베이스의 필드를 병합하여 만듭니다. 이전에는 모든 비교에서 대/소문자를 구분했으며 관리자가 필드 참조 이름에 대한 정확한 일치가 있는지 확인해야 했습니다. 따라서 대/소문자에 미묘한 차이가 있는 경우 문제가 되었습니다. 이 릴리스에서는 해당 프로세스에서 이러한 불일치가 좀 더 허용됩니다.

관리 기능 향상

알림을 위한 전자 메일 받는 사람 결합

동일한 전자 메일 알림을 받는 사람이 받는 사람: 줄에 함께 포함되며 단일 전자 메일이 전송됩니다. 이전에는 개별 전자 메일이 각각 받는 사람에게 전송되었습니다. 따라서 알림을 받은 다른 사용자를 파악하고 전자 메일을 통해 이벤트에 대해 대화를 나누기가 어려웠습니다. 이 기능은 여러 받는 사람을 대상으로 할 수 있는 팀 구독뿐만 아니라 기본 알림에도 적용됩니다. 예를 들어 끌어오기 요청을 변경하면 끌어오기 요청의 모든 검토자에게 단일 전자 메일이 전송됩니다.

전자 메일 받는 사람 결합에 대해 자세히 알아보세요.

기본 알림

사용자와 팀은 다음과 같이 사용자 및 팀과 직접 관련된 작업이 계정에 있는 경우 전자 메일을 통해 자동으로 알림을 받습니다.

  • 작업 항목이 사용자에게 할당된 경우
  • 사용자나 팀이 검토자로 끌어오기 요청에 추가된 경우
  • 사용자나 팀이 업데이트되는 끌어오기 요청에서 검토자인 경우
  • 다른 사용자가 끌어오기 요청 설명에 응답하는 경우
  • 사용자가 요청한 빌드가 완료된 경우
  • 확장이 설치되거나 요청된 경우(관리자 전용)

사용자는 사용자 프로필 메뉴 아래의 알림 설정으로 이동한 다음 적절한 토글을 전환하여 이러한 구독을 취소할 수 있습니다.

계정 관리자는 설정 기어 아래의 컬렉션 수준 알림 허브로 이동하여 이러한 자동 구독 중 하나 이상을 사용하지 않도록 설정할 수 있습니다. 이러한 구독은 “...”작업에서 __사용 안 함__을 클릭하여 사용하지 않도록 설정할 수 있습니다. 구독을 사용하지 않도록 설정하면 사용자의 개인 알림 설정 페이지에 더 이상 나타나지 않습니다.

기본 알림에 대해 자세히 알아보세요.

확장 관리 권한

관리자는 컬렉션의 확장을 관리할 수 있는 권한을 다른 사용자 및 그룹에 부여할 수 있습니다(그림 58). 이전에는 컬렉션 관리자(예: Project Collection Administrators 그룹의 멤버)만 확장 요청을 검토하거나, 확장을 설치하거나, 사용하지 않도록 설정하거나, 제거할 수 있었습니다.

이 권한을 부여하려면 관리자는 Marketplace 메뉴를 열고 [확장 관리]를 선택하여 확장 관리 허브로 이동한 다음 보안 단추를 클릭할 수 있습니다.

<img src="media/tfsu2_52-58.png"; alt="Extension management permissions" width="650" height="290" style="border:2px solid Silver; display: block; margin: auto;">

(그림 58) 확장 관리 권한

확장이 설치된 경우, 주의가 필요한 경우 등에 대한 알림 받기

관리자 또는 확장을 관리할 수 있는 사용자는 확장을 설치하거나, 제거하거나, 사용하도록 설정하거나, 사용하지 않도록 설정하는 경우 자동으로 알림을 받습니다. 이 기능은 여러 사용자가 확장을 관리할 책임이 있는 대규모 배포에서 특히 유용합니다. 관리자는 프로필 메뉴 아래의 알림 설정으로 이동하고 확장 토글을 전환하여 이러한 알림을 끌 수 있습니다.

또한 관리자는 확장 관련 이벤트에 대해 사용자 정의 구독을 정의할 수 있습니다. 예를 들어 관리자는 모든 확장이 업데이트될 때마다 알림을 받을 수 있습니다.

또한 사용자는 해당 확장 요청에 대한 자동 알림을 끌 수도 있습니다.

TFS 관리자가 고급 액세스 수준에 구독자를 추가하도록 허용

고급 액세스 수준은 Team Foundation Server 이후 버전에서 제거됩니다. 그러나 그때까지 TFS 관리자는 업데이트 2를 사용하여 MSDN 플랫폼 및 Visual Studio Test Professional 구독자를 고급 액세스 수준에 추가할 수 있습니다.

Visual Studio Enterprise 구독자는 고급 대신 Visual Studio Enterprise 액세스 수준에 추가해야 합니다. 테스트 관리자 확장을 구매한 경우 구매한 팀 프로젝트 내의 사용자 허브에서 계속 관리할 수 있습니다.

Microsoft Teams 통합

Microsoft Teams를 사용하여 공동 작업하는 조직은 이제 팀 채널 내에서 해당 TFS 프로젝트의 활동을 볼 수 있습니다. 따라서 팀은 Microsoft Teams에서 작업할 때 관련 작업 항목 변경, 끌어오기 요청, 빌드, 릴리스 등에 대한 최신 정보를 확인할 수 있습니다. 자세한 내용은 설명서를 참조하세요.


알려진 문제

작업 항목 폼이 웹에서 제대로 렌더링되지 않음

  • 문제:

    다중값 컨트롤과 같은 사용자 지정 컨트롤을 웹 클라이언트가 아닌 Visual Studio 클라이언트에 대해 설치한 경우 웹에서 작업 항목 폼을 렌더링할 수 없습니다.

  • 해결 방법:

    최신 버전의 컨트롤로 업데이트해야 합니다. 누락된 컨트롤 요소를 포함하지 않는 웹 레이아웃을 추가해야 합니다. TFS 작업 항목 추적을 위한 사용자 지정 컨트롤 페이지에서 TFS 2017 업데이트에 대한 최신 다중 값 컨트롤을 찾을 수 있습니다. 레이아웃에 대한 자세한 내용은 All FORM XML elements reference (TFS 2015)(모든 FORM XML 요소 참조(TFS 2015)) 페이지를 참조하세요.

알려진 문제

TFS 버전이 최종 릴리스가 아니라 RC2입니다.

  • 문제:

    2017년 8월 1일 전에 TFS 2017 업데이트 2를 다운로드하고 설치하면 RC2 버전이 설치됩니다.

  • 해결 방법:

    이 문제는 2017년 8월 1일에 수정된 설치 링크의 일시적인 문제 때문입니다. TFS 2017 업데이트 2를 다시 다운로드하고 이 최종 릴리스를 설치하세요.


The Developer Community Portal Team Foundation Server 2017에 대해 고객이 보고한 문제를 참조하세요.


위쪽