스프린트 131 VSTS(Visual Studio Team Services 업데이트)에는 UserVoice에서 많은 양의 피드백과 활동을 받은 몇 가지 기능이 있습니다. 하나는 작업 항목 허브입니다. 이 허브는 이제 매일 워크플로의 최전선에 중요한 작업을 가져오는 데 일반적으로 사용할 수 있게 됩니다. 또한 웹 애플리케이션에 대한 하위 수준 제어를 유지하는 것이 일부 사용자에게 중요하다는 것을 알고 있으므로 Azure DevOps Projects를 구성하기 위한 옵션으로 가상 머신을 추가했습니다.
그 외 중요 사항은 다음과 같습니다.
VSTS의 새로운 기능
코드
리포지토리 설정을 사용하여 성능 덮어쓰기 및 보호 방지
이 업데이트에는 Git가 원활하게 실행될 수 있도록 하는 새로운 두 가지 리포지토리 설정이 있습니다.
사례 적용 은 "File.txt" 및 "file.txt"이 고유한 기본 대/소문자 구분 모드에서 "File.txt" 및 "file.txt"이 동일한 파일인 Windows 및 macOS 친화적인 모드로 서버를 전환합니다. 이 설정은 파일, 폴더, 분기 및 태그에 영향을 줍니다. 또한 참가자가 소문자만 구분을 실수로 도입하지 않도록 방지합니다. 대부분의 참가자가 Windows 또는 macOS를 실행하는 경우 대/소문자 적용을 사용하는 것이 좋습니다.
파일 크기 제한을 사용하면 새 파일 또는 업데이트된 파일이 설정한 크기 제한을 초과하지 않도록 방지할 수 있습니다. Git 리포지토리의 기록에 존재하는 큰 파일의 수가 많을수록 복제 및 페치 작업의 성능이 저하됩니다. 이 설정은 실수로 이러한 파일을 도입하지 않도록 방지합니다.
작업
작업 항목 허브를 사용하여 중요한 작업에 집중
쿼리, 백로그 및 보드는 여러 가지 방법으로 작업을 볼 수 있지만 가장 중요한 작업을 손쉽게 확인할 수 있기를 바랍니다. 작업 항목 허브의 6개월 미리 보기가 끝나면 이제 모든 사용자가 사용할 수 있습니다. 미리 보기가 시작된 이래로 허브에서 많이 반복되었으며 아래에는 몇 가지 변경 내용이 포함되어 있습니다.
이제 작업 항목 허브에는 4인 중심 피벗이 있어 중요한 것에 집중할 수 있으며 프로젝트 작업에 대한 더 나은 아이디어를 얻기 위해 3개의 프로젝트 중심 뷰를 사용할 수 있습니다.
- 나에게 할당 됨 - 프로젝트에서 마지막으로 업데이트된 순서대로 할당된 모든 작업 항목
- 다음 - 팔로우 중인 모든 작업 항목
- 멘션됨 - 지난 30일 동안 언급된 모든 작업 항목
- 내 활동 - 최근에 보거나 업데이트한 모든 작업 항목
- 최근에 업데이트 됨 - 가장 최근에 업데이트된 프로젝트의 모든 작업 항목
- 최근에 완료됨 - 최근에 완료된 프로젝트의 모든 작업 항목
- 최근에 만든 - 프로젝트에서 최근에 만든 모든 작업 항목

이제 모든 프로젝트 피벗은 제목, 영역 경로 또는 만든 날짜를 비롯한 다양한 옵션에 따라 정렬할 수 있습니다. 이러한 작업 항목을 오름차순 또는 내림차순으로 표시하도록 선택할 수도 있습니다.

+/- 를 사용하여 반복 일정에서 작업 쿼리 @CurrentIteration
팀이 반복 일정에 따라 작업을 추적하는 데 도움이 되는 매크로는 @CurrentIteration 이제 정수 오프셋을 지원합니다. 닫 @CurrentIteration 혀 있지 않은 작업을 쉽게 감시하거나 + 1을 사용하여 향후 반복을 위해 계획된 작업을 미리 살펴봅니다 @CurrentIteration . 자세한 내용은 Microsoft DevOps 블로그의 @CurrentIteration 게시물을 참조하세요. 이 기능은 현재 456표로 12위를 기록한 제안에 따라 우선 순위가 지정되었습니다.
Team 매개 변수를 사용하여 @CurrentIteration 쿼리 반복 일정 명확히 지정
과거에 쿼리에서 매크로를 @CurrentIteration 사용한 경우 팀 컨텍스트가 반복 일정이 다른 Teams 간에 변경되면 결과가 달라질 수 있습니다. 이제 매크로를 사용하여 쿼리를 만들거나 수정할 때 쿼리와 @CurrentIteration 관련된 반복 일정이 있는 팀도 선택해야 합니다. Team 매개 변수를 사용하면 동일한 쿼리에서 매크로를 @CurrentIteration 사용할 수 있지만 팀 전체에서 사용할 수 있습니다. 한 가지 예는 서로 다른 반복 이름과 일정을 사용하는 두 개의 서로 다른 팀 프로젝트의 작업 항목에 대한 쿼리일 수 있습니다. 즉, 스프린트가 변경되면 더 이상 쿼리를 업데이트할 필요가 없습니다. 자세한 내용은 Microsoft DevOps 블로그의 @CurrentIteration 게시물을 참조하세요. 이 기능은 제안에 따라 우선 순위가 지정되었습니다.

빌드 및 릴리스
가상 머신에 Azure DevOps Project를 배포하여 앱에 대한 더 많은 제어를 유지합니다.
Azure DevOps Project를 사용하면 몇 단계만에 완전히 구성된 CI/CD 파이프라인을 설정할 수 있습니다. Azure Web Apps 시작하는 동안 원하는 경우 이제 Windows를 실행하는 Azure 가상 머신에 배포할 수 있습니다. ASP.NET 또는 ASP.NET Core 애플리케이션을 시작할 때 가상 머신 옵션을 선택하기만 하면 됩니다.

아티팩트를 부분적으로 다운로드하여 릴리스 시간 개선
이전에는 배포 단계의 일부로 모든 아티팩트를 다운로드하거나 모두 건너뛰도록 선택할 수 있었습니다. 이제 다운로드해야 하는 아티팩트를 선택할 수 있습니다. 이렇게 하면 에이전트에서 필요한 아티팩트만 다운로드하면 되므로 시간을 절약할 수 있습니다. 자세한 내용은 아티팩트 릴리스 설명서를 참조하세요. 이 기능은 제안에 따라 우선 순위가 지정되었습니다.

SonarSource의 최신 확장을 사용하여 코드 품질 개선
SonarSource는 최근 업데이트된 SonarQube 확장 및 다양한 언어에 대한 정적 코드 분석을 가능하게 하는 새 SonarCloud 확장을 릴리스했습니다. VSTS Gradle 및 Maven 작업은 특히 Java 빌드에 대해 이러한 확장을 활용합니다. Gradle 또는 Maven 작업의 버전 2.*에서 SonarQube 또는 SonarCloud 분석 실행을 사용하도록 설정한 다음 아래와 같이 SonarQube/SonarCloud 작업 준비 및 게시 를 추가합니다.

빌드 태그를 사용하여 빌드할 GitHub 소스 추적
GitHub 또는 GitHub Enterprise의 빌드는 이미 관련된 커밋에 연결됩니다. 빌드한 빌드에 대한 커밋을 추적할 수 있는 것도 마찬가지로 중요합니다. 이제 VSTS에서 원본 태그 지정을 사용하도록 설정하여 가능합니다. 빌드 정의에서 GitHub 리포지토리를 선택하는 동안 태그 서식과 함께 태그를 지정하려는 빌드 형식을 선택합니다.

그런 다음, GitHub 또는 GitHub Enterprise 리포지토리에 빌드 태그가 표시되는지 살펴봅니다.

Azure Resource Manager 서비스 엔드포인트를 리소스 그룹으로 격리
기본적으로 VSTS에서 자동으로 구성된 Azure Resource Manager 서비스 엔드포인트는 구독에 대한 기여자 역할을 가져옵니다. 이제 엔드포인트를 만들고 scope 구독 내의 특정 리소스 그룹으로 제한하는 옵션이 있습니다. 이 옵션은 엔드포인트가 필요한 항목과만 상호 작용하도록 일부 격리를 제공합니다. Azure 구독에 권한을 부여하라는 메시지가 표시되면 고급 옵션을 선택합니다.

엔티티 관련 보안 관리
이전에는 역할 기반 보안에서 보안 액세스 역할이 설정되는 경우 이러한 역할은 배포 그룹, 변수 그룹, 에이전트 큐 및 서비스 엔드포인트에 대한 허브 수준에서 사용자 또는 그룹에 대해 설정되었습니다. 이제 특정 엔터티에 대한 상속을 설정/해제할 수 있으므로 원하는 방식으로 보안을 구성할 수 있습니다.

배지를 사용하여 배포 상태 공유
빌드에서와 같이 이제 릴리스에서 환경에 마지막으로 완료된 배포의 상태 보여 주는 배지를 구성할 수 있습니다. 이러한 배지는 URL을 통해 공개적으로 액세스할 수 있으며, 모든 리포지토리에 포함하여 소비자와 기여자에게 더 많은 투명성을 제공할 수 있습니다.

프로젝트의 권한 있는 멤버가 사용하도록 설정하면 배지 URL에 액세스할 수 있는 모든 사용자는 선택한 환경에 대한 배포 상태 볼 수 있습니다.

릴리스를 트리거하는 아티팩트에 따라 선택적으로 배포
여러 아티팩트 소스를 릴리스 정의에 추가하고 이 릴리스를 트리거하도록 구성할 수 있습니다. 소스 중 하나에 새 빌드를 사용할 수 있으면 새 릴리스가 만들어집니다. 릴리스를 트리거한 소스에 관계없이 동일한 배포 프로세스가 실행됩니다. 이제 트리거하는 소스를 기반으로 하여 배포 프로세스를 사용자 지정할 수 있습니다. 자동 트리거 릴리스의 경우 Release.TriggeringArtifact.Alias 릴리스 변수가 채워져 릴리스를 트리거한 아티팩트 소스를 식별합니다. 이 변수는 작업 조건, 단계 조건 및 작업 매개 변수에서 프로세스를 동적으로 조정하는 데 사용할 수 있습니다. 예를 들어 환경을 통해 변경된 아티팩트만 배포하면 되는 경우가 있습니다.
Subscriptions
AAD 기반 대체 메일 계정을 사용하여 기존 구독 활용
과거에 Visual Studio 구독이 Azure Active Directory(Azure AD) 이메일 주소에 할당된 경우 VSTS에서 동일한 이메일 주소를 사용하여 Visual Studio 구독자로 인식되도록 추가해야 했습니다. 그러나 MSA(Microsoft 계정)에 할당된 구독의 경우 My Visual Studio 포털에서 대체 Azure AD 전자 메일 계정을 추가하고 해당 Azure AD 전자 메일을 사용하여 VSTS에 액세스할 수 있습니다.
이 기능은 AAD 기반 Visual Studio 구독자가 내 Visual Studio 포털에서 다른 AAD 전자 메일 계정을 추가할 수 있도록 확장되었습니다. 이렇게 하면 구독이 할당된 것과 다른 AAD 전자 메일을 VSTS에서 사용할 수 있습니다.

구독에 대체 계정을 추가하는 단계는 내 Visual Studio FAQ에서 찾을 수 있습니다. 자세한 내용은 Microsoft DevOps 블로그에서 VS 구독 및 VSTS 계정을 AzureAD에 연결 게시물을 참조하세요 .
다음 단계 및 피드백
이러한 기능에 대해 어떻게 생각하는지 듣고 싶습니다. 피드백 메뉴를 통해 우선 순위를 지정하려는 항목에 대한 아이디어가 있는 경우 문제를 보고하거나 제안을 제공합니다.

Stack Overflow에서 커뮤니티에서 조언과 질문에 답변할 수도 있습니다.
감사합니다,
제이미 쿨