Azure DevOps Server 2019 업데이트 1 릴리스 정보

| Developer Community시스템 요구 사항 | 사용 조건 | DevOps 블로그 | SHA-1 해시

이 문서에서는 Azure DevOps Server 대한 최신 릴리스에 대한 정보를 찾을 수 있습니다.

Azure DevOps Server 배포 설치 또는 업그레이드에 대한 자세한 내용은 Azure DevOps Server 요구 사항을 참조하세요. Azure DevOps 제품을 다운로드하려면 Azure DevOps Server 다운로드 페이지를 방문하세요.

Azure DevOps Server 2020으로의 직접 업그레이드는 Azure DevOps Server 2019 또는 Team Foundation Server 2015 이상에서 지원됩니다. TFS 배포가 TFS 2010 이하에 있는 경우 Azure DevOps Server 2019로 업그레이드하기 전에 몇 가지 중간 단계를 수행해야 합니다. 자세한 내용은 Azure DevOps 온-프레미스 설치 및 구성을 참조하세요.


Azure DevOps Server 2019에서 Azure DevOps Server 2020으로 안전하게 업그레이드

2020년 Azure DevOps Server 프로젝트 수준 설정에 따라 작동하는 새 파이프라인 실행(빌드) 보존 모델이 도입되었습니다.

Azure DevOps Server 2020은 파이프라인 수준 보존 정책에 따라 빌드 보존을 다르게 처리합니다. 특정 정책 구성으로 인해 업그레이드 후 파이프라인 실행이 삭제됩니다. 수동으로 보존되었거나 릴리스에 의해 유지된 파이프라인 실행은 업그레이드 후에 삭제되지 않습니다.

Azure DevOps Server 2019에서 Azure DevOps Server 2020으로 안전하게 업그레이드하는 방법에 대한 자세한 내용은 블로그 게시물을 참조하세요.

Azure DevOps Server 2019 업데이트 1.2 패치 8 릴리스 날짜: 2024년 3월 12일

파일 SHA-256 해시
devops2019.1.2patch8.exe 67E78EA7D67A09A6EE06309614F92E6D8495DEF52FF442E4E4E7C7979244FAD20A

다음을 위한 수정 사항이 포함된 Azure DevOps Server 2019 업데이트 1.2용 패치 8을 릴리스했습니다.

  • 패치 7을 설치한 후 프록시 서버의 작동이 중지되는 문제를 해결했습니다.

Azure DevOps Server 2019 업데이트 1.2 패치 7 릴리스 날짜: 2024년 2월 13일

파일 SHA-256 해시
devops2019.1.2patch7.exe 8C67C72A83C9215302BDEFB752A7C4E3F876D4D17FCFA63A02B955FCFB5455AA

다음을 위한 수정 사항이 포함된 Azure DevOps Server 2019 업데이트 1.2용 패치 7을 릴리스했습니다.

  • 프록시 캐시 폴더에서 사용하는 디스크 공간이 잘못 계산되고 폴더가 제대로 정리되지 않는 버그가 수정되었습니다.
  • CVE-2024-20667: 원격 코드 실행 취약성을 Azure DevOps Server.

Azure DevOps Server 2019 업데이트 1.2 패치 6 릴리스 날짜: 2023년 11월 14일

다음에 대한 수정 사항이 포함된 Azure DevOps Server 2019 업데이트 1.2에 대한 패치를 릴리스했습니다.

  • 셸 작업 사용 인수 매개 변수 유효성 검사에 대해 PowerShell 작업 허용 문자 목록을 확장했습니다.

참고

이 패치에 대한 수정 사항을 구현하려면 여러 단계에 따라 작업을 수동으로 업데이트해야 합니다.

패치 설치

중요

2023년 9월 12일에 패치 5가 릴리스된 Azure Pipelines 에이전트에 대한 업데이트를 릴리스했습니다. 패치 5 릴리스 정보에 설명된 대로 에이전트 업데이트를 설치하지 않은 경우 패치 6을 설치하기 전에 이러한 업데이트를 설치하는 것이 좋습니다. 패치 5를 설치한 후 에이전트의 새 버전은 3.225.0이 됩니다.

TFX 구성

  1. 프로젝트 컬렉션에 작업 업로드 설명서의 단계에 따라 tfx-cli를 설치하고 로그인합니다.

TFX를 사용하여 작업 업데이트

파일 SHA-256 해시
Tasks20231103.zip 389BA66EEBC32622FB83402E21373CE20AE040F70461B9F9AF9EFCED5034D2E5
  1. Tasks20231103.zip다운로드하고 추출합니다.
  2. 디렉터리를 추출된 파일로 변경합니다.
  3. 다음 명령을 실행하여 작업을 업로드합니다.
tfx build tasks upload --task-zip-path AzureFileCopyV1.1.230.0.zip
tfx build tasks upload --task-zip-path AzureFileCopyV2.2.230.0.zip 
tfx build tasks upload --task-zip-path AzureFileCopyV3.3.230.0.zip 
tfx build tasks upload --task-zip-path AzureFileCopyV4.4.230.0.zip 
tfx build tasks upload --task-zip-path AzureFileCopyV5.5.230.0.zip 
tfx build tasks upload --task-zip-path BashV3.3.226.2.zip 
tfx build tasks upload --task-zip-path BatchScriptV1.1.226.0.zip 
tfx build tasks upload --task-zip-path PowerShellV2.2.230.0.zip 
tfx build tasks upload --task-zip-path SSHV0.0.226.1.zip 
tfx build tasks upload --task-zip-path WindowsMachineFileCopyV1.1.230.0.zip 
tfx build tasks upload --task-zip-path WindowsMachineFileCopyV2.2.230.0.zip 

파이프라인 요구 사항

새 동작을 사용하려면 영향을 받는 작업을 사용하는 파이프라인에서 변수 AZP_75787_ENABLE_NEW_LOGIC = true 를 설정해야 합니다.

  • 클래식에서:

    파이프라인의 변수 탭에서 변수를 정의합니다.

  • YAML 예제:

variables: 
- name: AZP_75787_ENABLE_NEW_LOGIC 
  value: true 

Azure DevOps Server 2019 업데이트 1.2 패치 5 릴리스 날짜: 2023년 9월 12일

다음에 대한 수정 사항이 포함된 Azure DevOps Server 2019 업데이트 1.2에 대한 패치를 릴리스했습니다.

  • CVE-2023-33136: 원격 코드 실행 취약성을 Azure DevOps Server.
  • CVE-2023-38155: Azure DevOps Server 및 Team Foundation Server 권한 상승 취약성.

중요

테스트 환경에 패치를 배포하고 프로덕션에 수정 사항을 적용하기 전에 환경의 파이프라인이 예상대로 작동하는지 확인하세요.

참고

이 패치에 대한 수정 사항을 구현하려면 여러 단계에 따라 에이전트 및 작업을 수동으로 업데이트해야 합니다.

패치 설치

  1. Azure DevOps Server 2019 업데이트 1.2 패치 5를 다운로드하여 설치합니다.

Azure Pipelines 에이전트 업데이트

  1. 에서 에이전트 다운로드: https://github.com/microsoft/azure-pipelines-agent/releases/tag/v3.225.0 - Agent_20230825.zip
  2. 자체 호스팅 Windows 에이전트 설명서에 설명된 단계를 사용하여 에이전트를 배포합니다.  

참고

에이전트가 다운그레이드되지 않도록 하려면 AZP_AGENT_DOWNGRADE_DISABLED "true"로 설정해야 합니다. Windows에서는 관리 명령 프롬프트에서 다음 명령을 사용하고 다시 부팅할 수 있습니다. setx AZP_AGENT_DOWNGRADE_DISABLED true /M

TFX 구성

  1. 프로젝트 컬렉션에 작업 업로드 설명서의 단계에 따라 tfx-cli를 설치하고 로그인합니다.

TFX를 사용하여 작업 업데이트

  1. Tasks_20230825.zip다운로드하고 추출합니다.
  2. 디렉터리를 추출된 파일로 변경합니다.
  3. 다음 명령을 실행하여 작업을 업로드합니다.
tfx build tasks upload --task-zip-path AzureFileCopyV1.1.226.3.zip 
tfx build tasks upload --task-zip-path AzureFileCopyV2.2.226.2.zip 
tfx build tasks upload --task-zip-path AzureFileCopyV3.3.226.2.zip 
tfx build tasks upload --task-zip-path AzureFileCopyV4.4.226.2.zip 
tfx build tasks upload --task-zip-path AzureFileCopyV5.5.226.2.zip 
tfx build tasks upload --task-zip-path BashV3.3.226.2.zip 
tfx build tasks upload --task-zip-path BatchScriptV1.1.226.0.zip 
tfx build tasks upload --task-zip-path PowerShellV2.2.226.1.zip 
tfx build tasks upload --task-zip-path SSHV0.0.226.1.zip 
tfx build tasks upload --task-zip-path WindowsMachineFileCopyV1.1.226.2.zip 
tfx build tasks upload --task-zip-path WindowsMachineFileCopyV2.2.226.2.zip 

파이프라인 요구 사항

새 동작을 사용하려면 영향을 받는 작업을 사용하는 파이프라인에서 변수 AZP_75787_ENABLE_NEW_LOGIC = true 를 설정해야 합니다.

  • 클래식에서:

    파이프라인의 변수 탭에서 변수를 정의합니다.

  • YAML 예제:

variables: 
- name: AZP_75787_ENABLE_NEW_LOGIC 
  value: true 

Azure DevOps Server 2019 업데이트 1.2 패치 4 릴리스 날짜: 2023년 8월 8일

다음에 대한 수정 사항이 포함된 Azure DevOps Server 2019 업데이트 1.2에 대한 패치를 릴리스했습니다.

  • CVE-2023-36869: 스푸핑 취약성을 Azure DevOps Server.
  • SHA2-256 및 SHA2-512를 지원하도록 SSH 서비스를 업데이트합니다. RSA를 사용하도록 하드 코딩된 SSH 구성 파일이 있는 경우 SHA2로 업데이트하거나 항목을 제거해야 합니다.
  • CronScheduleJobExtension에서 무한 루프 버그가 수정되었습니다.

Azure DevOps Server 2019 업데이트 1.2 패치 3 릴리스 날짜: 2023년 6월 13일

다음에 대한 수정 사항이 포함된 Azure DevOps Server 2019 업데이트 1.2에 대한 패치를 릴리스했습니다.

  • 2018년 이전 버전에서 업그레이드할 때 패키지 푸시를 방해하는 버그가 수정되었습니다.

Azure DevOps Server 2019 업데이트 1.2 패치 2 릴리스 날짜: 2022년 12월 13일

다음에 대한 수정 사항이 포함된 Azure DevOps Server 2019 업데이트 1.2에 대한 패치를 릴리스했습니다.

  • "계정 병렬 처리 동기화 분석 작업"의 오류를 수정했습니다.

Azure DevOps Server 2019 업데이트 1.2 패치 1 릴리스 날짜: 2022년 7월 12일

다음에 대한 수정 사항이 포함된 Azure DevOps Server 2019 업데이트 1.2에 대한 패치를 릴리스했습니다.

  • 테스트 실행 API에서 반환되는 연속 토큰이 지정된 "maxLastUpdatedDate" 값보다 큽니다.
  • 클래식 파이프라인을 편집하는 동안 다른 탭에서 변경 내용을 삭제한 후 보존 탭이 비어 있었습니다.

Azure DevOps Server 2019 업데이트 1.2 릴리스 날짜: 2022년 5월 17일

Azure DevOps Server 2019 업데이트 1.2는 버그 수정 롤업입니다. Azure DevOps Server 2019 업데이트 1.2를 직접 설치하거나 Azure DevOps Server 2019 또는 Team Foundation Server 2013 이상에서 업그레이드할 수 있습니다.

참고

데이터 마이그레이션 도구는 이 릴리스 후 약 3주 후에 Azure DevOps Server 2019 업데이트 1.2에 사용할 수 있습니다. 현재 가져오기에 지원되는 버전 목록은 여기서 볼 수 있습니다.

이 릴리스에는 다음에 대한 수정 사항이 포함되어 있습니다.

  • 사용자의 Active Directory 계정을 사용하지 않도록 설정한 후 모든 개인용 액세스 토큰을 해지합니다.

Azure DevOps Server 2019 업데이트 1.1 패치 13 릴리스 날짜: 2022년 1월 26일

다음에 대한 수정 사항이 포함된 Azure DevOps Server 2019 업데이트 1.1에 대한 패치를 릴리스했습니다.

  • 작업 항목에서 컨트롤을 사용할 때 Email 알림이 @mention 전송되지 않았습니다.
  • 사용자 프로필에서 기본 메일 주소가 업데이트되지 않았습니다. 이로 인해 메일이 이전 메일 주소로 전송되었습니다.
  • log4j 이진 파일에서 jndilookup 클래스를 제거하여 Elasticsearch 취약성을 해결했습니다.

설치 단계

  1. 패치 13을 사용하여 서버를 업그레이드합니다.
  2. HKLM:\Software\Elasticsearch\Version의 레지스트리 값을 확인합니다. 여기에 레지스트리 값이 없으면 문자열 값을 추가하고 버전을 5.4.1로 설정합니다(Name = Version, Value = 5.4.1).
  3. 추가 정보 파일에 안내된 대로 업데이트 명령 PS C:\Program Files\{TFS Version Folder}\Search\zip> .\Configure-TFSSearch.ps1 -Operation update를 실행합니다. 원격 서버에 연결할 수 없습니다와 같은 경고가 반환될 수 있습니다. 업데이트가 완료될 때까지 다시 시도되므로 창을 닫지 마세요.

참고

Azure DevOps Server 및 Elasticsearch가 다른 컴퓨터에 설치된 경우 아래에 설명된 단계를 수행합니다.

  1. 패치 13을 사용하여 서버를 업그레이드합니다.
  2. HKLM:\Software\Elasticsearch\Version의 레지스트리 값을 확인합니다. 여기에 레지스트리 값이 없으면 문자열 값을 추가하고 버전을 5.4.1로 설정합니다(Name = Version, Value = 5.4.1).
  3. Elasticsearch 원격 파일 폴더에 C:\Program Files\{TFS Version Folder}\Search\zip 있는 zip 폴더의 내용을 복사합니다.
  4. Elasticsearch 서버 컴퓨터에서 를 실행 Configure-TFSSearch.ps1 -Operation update 합니다.

SHA-256 해시: DB762E391F9DF8E71E58D6FAA169CA44DFBE996AE6567B55F772CBA9E3DA2AB3

Azure DevOps Server 2019 업데이트 1.1 패치 12 릴리스 날짜: 2021년 9월 15일

Azure DevOps Server 2019 업데이트 1.1에 대한 패치 12에는 다음에 대한 수정 사항이 포함되어 있습니다.

  • "단어 포함"을 사용하여 쿼리에 대한 작업 항목 매크로를 수정합니다. 이전에는 쿼리가 줄 바꿈이 포함된 값에 대해 잘못된 결과를 반환했습니다.
  • 사용자 지정 작업 항목 레이아웃 상태에 대한 지역화 문제입니다.
  • 전자 메일 알림 템플릿의 지역화 문제입니다.
  • 필드에 대해 여러 NOTSAMEAS 규칙이 정의된 경우 NOTSAMEAS 규칙 평가와 관련된 문제입니다.

Azure DevOps Server 2019 업데이트 1.1 패치 11 릴리스 날짜: 2021년 9월 14일

Azure DevOps Server 2019 업데이트 1.1에 대한 패치 11에는 다음에 대한 수정 사항이 포함되어 있습니다.

Azure DevOps Server 2019 업데이트 1.1 패치 10 릴리스 날짜: 2021년 8월 10일

Azure DevOps Server 2019 업데이트 1.1에 대한 패치 10에는 다음에 대한 수정 사항이 포함되어 있습니다.

  • 일부 작업 항목 유형에 대한 전자 메일 배달 작업 문제를 해결합니다.

Azure DevOps Server 2019 업데이트 1.1 패치 9 릴리스 날짜: 2021년 6월 15일

Azure DevOps Server 2019 업데이트 1.1에 대한 패치 9에는 다음에 대한 수정 사항이 포함되어 있습니다.

  • 데이터 가져오기 문제를 해결합니다. 데이터 가져오기는 부실 테스트 사례가 많은 고객에게 오랜 시간이 소요되었습니다. 이는 테이블의 크기를 증가시킨 참조 때문입니다 tbl_testCaseReferences . 이 패치를 통해 데이터 가져오기 프로세스 속도를 높이기 위해 부실 테스트 사례에 대한 참조를 제거했습니다.

Azure DevOps Server 2019 업데이트 1.1 패치 8 릴리스 날짜: 2021년 4월 13일

다음을 수정하는 Azure DevOps Server 2019 업데이트 1.1에 대한 패치를 릴리스했습니다.

이 패치에 대한 수정 사항을 구현하려면 일반 패치 설치AzureResourceGroupDeploymentV2 작업 설치를 위해 아래에 나열된 단계를 따라야 합니다.

일반 패치 설치

Azure DevOps Server 2019 업데이트 1.1이 있는 경우 Azure DevOps Server 2019 업데이트 1.1 패치 8을 설치해야 합니다.

설치 확인

  • 옵션 1: 실행 devops2019.1.1patch8.exe CheckInstall, devops2019.1.1patch8.exe 위의 링크에서 다운로드한 파일입니다. 명령의 출력에 패치가 설치되었거나 설치되지 않은 것으로 표시됩니다.

  • 옵션 2: 파일의 버전을 확인합니다 [INSTALL_DIR]\Azure DevOps Server 2019\Application Tier\Web Services\bin\Microsoft.VisualStudio.Services.Feed.Server.dll. Azure DevOps Server 2019는 기본적으로 에 설치됩니다c:\Program Files\Azure DevOps Server 2019. Azure DevOps Server 2019.1.1 패치 8을 설치한 후 버전은 17.153.31129.2가 됩니다.

AzureResourceGroupDeploymentV2 작업 설치

참고

아래에 언급된 모든 단계는 Windows 컴퓨터에서 수행해야 합니다.

설치

  1. 컴퓨터의 새 폴더에 AzureResourceGroupDeploymentV2.zip 패키지를 추출합니다. 예: D:\tasks\AzureResourceGroupDeploymentV2.

  2. 컴퓨터에 적합한 Node.js 14.15.1 및 npm(Node.js 다운로드에 포함)을 다운로드하고 설치합니다.

  3. 관리자 모드에서 명령 프롬프트를 열고 다음 명령을 실행하여 tfx-cli를 설치합니다.

npm install -g tfx-cli
  1. 모든 액세스 권한으로 개인용 액세스 토큰을 만들고 복사합니다. 이 개인용 액세스 토큰은 tfx login 명령을 실행할 때 사용됩니다.

  2. 명령 프롬프트에서 다음 명령을 실행합니다. 메시지가 표시되면 서비스 URL 및 개인용 액세스 토큰을 입력합니다.

~$ tfx login
Copyright Microsoft Corporation

> Service URL: {url}
> Personal access token: xxxxxxxxxxxx
Logged in successfully

  1. 다음 명령을 실행하여 서버에 작업을 업로드합니다. 1단계에서 추출한 .zip 파일의 경로를 사용합니다.
  ~$ tfx build tasks upload --task-path *<Path of the extracted package>*

Azure DevOps Server 2019 업데이트 1.1 패치 7 릴리스 날짜: 2021년 1월 12일

다음을 수정하는 Azure DevOps Server 2019 업데이트 1.1에 대한 패치를 릴리스했습니다. 자세한 내용은 블로그 게시물을 참조하세요.

  • 테스트 실행 세부 정보는 OpsHub 마이그레이션을 사용하여 마이그레이션된 테스트 데이터에 대한 테스트 단계 세부 정보를 표시하지 않습니다.
  • 'Microsoft.TeamFoundation.TestManagement.Server.TCMLogger'에 대한 이니셜라이저에 대한 예외
  • 2020년 Azure DevOps Server 마이그레이션 후 빌드되지 않은 빌드가 즉시 삭제됩니다.
  • 데이터 공급자 예외 수정

Azure DevOps Server 2019 업데이트 1.1 패치 6 릴리스 날짜: 2020년 12월 8일

다음을 수정하는 Azure DevOps Server 2019 업데이트 1.1에 대한 패치를 릴리스했습니다. 자세한 내용은 블로그 게시물을 참조하세요.

  • CVE-2020-1325: Azure DevOps Server 스푸핑 취약성
  • CVE-2020-17135: Azure DevOps Server 스푸핑 취약성
  • CVE-2020-17145 : Azure DevOps Server 및 Team Foundation Services 스푸핑 취약성
  • TFVC가 모든 결과를 처리하지 않는 문제 해결

중요

이 패치를 설치하기 전에 아래에 제공된 전체 지침을 읽어보세요.

일반 패치 설치

Azure DevOps Server 2019 업데이트 1.1이 있는 경우 Azure DevOps Server 2019 업데이트 1.1 패치 6을 설치해야 합니다.

설치 확인

  • 옵션 1: 실행 devops2019.1.1patch6.exe CheckInstall, devops2019.1.1patch6.exe 위의 링크에서 다운로드한 파일입니다. 명령의 출력에 패치가 설치되었거나 설치되지 않은 것으로 표시됩니다.

  • 옵션 2: 파일의 버전을 확인합니다 [INSTALL_DIR]\Azure DevOps Server 2019\Application Tier\Web Services\bin\Microsoft.VisualStudio.Services.Feed.Server.dll. Azure DevOps Server 2019는 기본적으로 에 설치됩니다c:\Program Files\Azure DevOps Server 2019. Azure DevOps Server 2019.1.1 패치 6을 설치한 후 버전은 17.153.30723.5가 됩니다.

AzurePowerShellV4 작업 설치

참고

아래에 언급된 모든 단계는 Windows 컴퓨터에서 수행해야 합니다.

사전 요구 사항

  1. 프라이빗 에이전트 컴퓨터에 Azure PowerShell Az 모듈 Azure Powershell을 설치합니다.

  2. AzurePowerShellV4 작업을 사용하여 파이프라인을 만듭니다. 작업에 는 표준 오류 발생 시 오류가 하나만 표시됩니다.

설치

  1. azurePowerShellV4라는 폴더에 AzurePowerShellV4.zip 패키지를 추출합니다.

  2. 컴퓨터에 따라 14.15.1 및 npm(Node.js 다운로드와 함께 포함)을 다운로드하여 설치합니다.

  3. 관리자 모드에서 명령 프롬프트를 열고 다음 명령을 실행하여 tfx-cli를 설치합니다.

npm install -g tfx-cli
  1. 모든 액세스 권한으로 개인용 액세스 토큰을 만들고 복사합니다. 이 개인용 액세스 토큰은 tfx login 명령을 실행할 때 사용됩니다.

  2. 명령 프롬프트에서 다음 명령을 실행합니다. 메시지가 표시되면 서비스 URL 및 개인용 액세스 토큰을 입력합니다.

~$ tfx login
Copyright Microsoft Corporation

> Service URL: {url}
> Personal access token: xxxxxxxxxxxx
Logged in successfully

  1. 다음 명령을 실행하여 서버에 작업을 업로드합니다. 추출된 패키지의 경로는 D:\tasks\AzurePowerShellv4입니다.
  ~$ tfx build tasks upload --task-path *<Path of the extracted package>*

Azure DevOps Server 2019 업데이트 1.1 패치 5 릴리스 날짜: 2020년 9월 8일

다음을 수정하는 Azure DevOps Server 2019 업데이트 1.1에 대한 패치를 릴리스했습니다. 자세한 내용은 블로그 게시물을 참조하세요.

  • DTS 1713492 - 보안 권한에 AD 그룹을 추가하는 동안 예기치 않은 동작입니다.

Azure DevOps Server 2019 업데이트 1.1 패치 4 릴리스 날짜: 2020년 7월 14일

다음을 수정하는 Azure DevOps Server 2019 업데이트 1.1에 대한 패치를 릴리스했습니다. 자세한 내용은 블로그 게시물을 참조하세요.

  • CVE-2020-1326: 교차 사이트 스크립팅 취약성
  • 빌드 파이프라인은 다른 Git 원본을 선택할 때 권한이 없는 사용자에 대한 잘못된 연결을 표시합니다.
  • XAML 빌드 정의에서 상속을 켜기 또는 끄기로 변경할 때 발생하는 오류를 수정합니다.

Azure DevOps Server 2019 업데이트 1.1 패치 3 릴리스 날짜: 2020년 6월 9일

다음을 수정하는 Azure DevOps Server 2019 업데이트 1.1에 대한 패치를 릴리스했습니다. 자세한 내용은 블로그 게시물을 참조하세요.

  • CVE-2020-1327: Azure DevOps 서버가 사용자 입력을 삭제하는지 확인합니다.

Azure DevOps Server 2019 업데이트 1.1 패치 2 릴리스 날짜: 2020년 4월 14일

다음을 수정하는 Azure DevOps Server 2019 업데이트 1.1에 대한 패치를 릴리스했습니다. 자세한 내용은 블로그 게시물을 참조하세요.

  • SVN 커밋은 파이프라인을 트리거하지 않습니다.

  • Azure DevOps의 SSH에서 SHA2에 대한 지원 추가

Azure DevOps Server 2019 업데이트 1.1 패치 1 릴리스 날짜: 2020년 3월 10일

다음 버그를 수정하는 Azure DevOps Server 2019 업데이트 1.1에 대한 보안 패치를 릴리스했습니다. 자세한 내용은 블로그 게시물을 참조하세요.


Azure DevOps Server 2019 업데이트 1.1 RTW 릴리스 날짜: 2019년 12월 10일

Azure DevOps Server 2019 업데이트 1.1은 버그 수정 및 보안 업데이트의 롤업입니다. 여기에는 이전에 릴리스된 Azure DevOps Server 2019 업데이트 1 패치의 모든 수정 사항이 포함되어 있습니다. Azure DevOps Server 2019 업데이트 1.1을 직접 설치하거나 Azure DevOps Server 2019 또는 Team Foundation Server 2012 이상에서 업그레이드할 수 있습니다.

참고

데이터 마이그레이션 도구는 이 릴리스 후 약 3주 후에 Azure DevOps Server 2019 업데이트 1.1에 사용할 수 있습니다. 현재 가져오기에 지원되는 버전 목록은 여기서 볼 수 있습니다.

이 릴리스에는 다음과 같은 버그에 대한 수정 사항이 포함되어 있습니다.

Azure Boards

  • 제품 백로그에서 새 작업 항목을 만들 때 타이틀 필드는 프로세스 템플릿의 기본값으로 초기화되지 않습니다.
  • Azure Boards 사용하는 경우 속도 저하 및 시간 제한.
  • 작업 항목 링크에서 수정된 기준 값이 잘못되었습니다.

Azure Pipelines

Azure Test Plans

  • Test Plans 필드를 편집하는 속도가 느립니다.
  • 테스트 사례에서 Test Plans 아니라 Boards에서 열 때 공유 단계 세부 정보가 열리지 않습니다.

일반

관리

  • 높은 메모리 사용량.
  • 부하 분산 장치 구성이 있는 서버는 AllowedOrigins 레지스트리 항목에 공용 원본을 명시적으로 추가해야 했습니다.
  • SQL Azure 설치하는 고객에게 평가판 완료 대화 상자가 표시되지 않습니다.
  • 확장을 설치하면 "오류 메시지 기여 누락(ms.vss-dashboards-web.widget-sdk-version-2)" 오류가 발생합니다.
  • Elastic Search를 설정할 때 "사용자가 권한이 없음"이라는 오류가 발생합니다.
  • TFS 2018 업데이트 2 이상에서 업그레이드할 때 Elastic Search의 인덱싱 및 쿼리 실패
  • Azure DevOps Server 구성할 때 "웨어하우스 만들기" 단계가 실패합니다.

이 릴리스에는 다음 업데이트가 포함됩니다.

  • SQL Server 2019 지원.

Azure DevOps Server 2019 업데이트 1 패치 1 릴리스 날짜: 2019년 9월 10일

다음 버그를 수정하는 Azure DevOps Server 2019 업데이트 1용 보안 패치를 릴리스했습니다. 자세한 내용은 블로그 게시물을 참조하세요.


Azure DevOps Server 2019 업데이트 1 릴리스 날짜: 2019년 8월 20일

참고

데이터 마이그레이션 도구는 이 릴리스 후 약 3주 후에 Azure DevOps Server 2019 업데이트 1에 사용할 수 있습니다. 현재 가져오기에 지원되는 버전 목록은 여기서 볼 수 있습니다.


RC2 릴리스 날짜: 2019년 7월 23일

RC2에는 RC1 이후의 몇 가지 버그 수정이 포함되어 있으며 최종 계획된 시험판입니다.


RC1 릴리스 날짜: 2019년 7월 2일

Azure DevOps Server 2019 업데이트 1의 새로운 기능 요약

Azure DevOps Server 2019 업데이트 1에는 많은 새로운 기능이 도입되었습니다. 몇 가지 중요한 기능은 다음과 같습니다.

개별 섹션으로 이동하여 새 기능을 확인할 수도 있습니다.


일반

어두운 테마

어두운 테마는 Azure DevOps Services 널리 사용되고 있으며 이제 Azure DevOps Server 사용할 수 있습니다. 모든 페이지의 오른쪽 위에 있는 아바타 아래 메뉴에서 테마 를 선택하여 어두운 테마를 켤 수 있습니다.

어두운 테마

Boards

새 기본 프로세스

지금까지 Agile은 다양한 프로젝트 배달 방법에 맞게 강력하고 유연한 작업 항목 유형 및 상태 집합을 제공하는 새 프로젝트의 기본 프로세스였습니다. 다른 도구에 더 익숙하거나 성장하고 더 강력한 도구 집합을 채택하려는 일부 팀의 경우 더 친숙한 용어를 사용하여 빠르게 시작하려고 합니다.

새로운 기본 프로세스는 작업을 계획하고 추적하기 위한 세 가지 작업 항목 유형(Epics, Issues 및 Tasks)을 제공합니다. Epics를 사용하여 문제를 더 큰 작업 단위로 그룹화하면서 문제를 사용하여 사용자 스토리, 버그 및 기능과 같은 항목을 추적하는 것이 좋습니다. 작업을 진행할 때 To Do, Doing 및 Done의 간단한 상태 워크플로를 따라 항목을 이동합니다.

기본 프로세스

새 프로젝트를 시작하는 데 도움이 되는 문제 및 작업 추적 설명서를 참조하세요.

작업 항목 양식의 상태 값 순서

이전에는 작업 항목 양식의 상태 값이 사전순으로 정렬되었습니다. 이 업데이트를 통해 프로세스 설정의 워크플로 순서와 일치하도록 상태 값의 순서를 변경했습니다. 상태 사용자 지정 설정에서 각 범주의 상태 순서를 변경할 수도 있습니다.

상태 순서

기능 사용 기능을 더 이상 사용할 수 없음

고객은 컬렉션을 업그레이드한 후 새 기능을 사용하도록 설정하기 위해 각 프로젝트에 대한 XML을 수동으로 업데이트해야 합니다.

기능 사용 기능

특정 기능을 사용하도록 설정하는 방법을 알아보려면 설명서를 참조하세요.

더 풍부한 작업 항목 첨부 파일을 사용하여 참조 자료 구성

작업 항목에 파일을 첨부하면 사용자와 팀이 참조 자료를 중앙 집중화하여 필요할 때 항상 닫을 수 있습니다. 이제 작업 항목 양식의 아무 곳에나 파일을 끌어서 놓기만 하면 새 첨부 파일을 더 쉽게 추가할 수 있습니다. 첨부 파일을 목록으로 계속 보거나 그리드 보기로 전환하여 미리 보기 미리 보기를 표시할 수 있습니다. 파일을 두 번 클릭하여 미리 보기를 열고 주기를 통해 필요한 정보를 빠르게 찾습니다.

작업 항목 첨부 파일

배지를 사용하여 팀 보드 공유

리포지토리의 추가 정보는 종종 프로젝트 팀이 솔루션에 기여하고 사용하는 방법에 대한 정보를 찾는 홈입니다. 이제 Azure Pipelines에서 빌드 또는 배포 상태 사용할 수 있는 것처럼 추가 정보에서 Azure Boards 팀 보드에 대한 배지를 추가할 수 있습니다. 진행 중 열 또는 모든 열만 표시하도록 배지를 구성할 수 있으며, 프로젝트가 오픈 소스 경우 배지를 공개적으로 표시할 수도 있습니다.

배지를 사용하여 팀의 보드를 공유하는 방법을 보여 주는 짧은 비디오입니다.

README가 Markdown을 기반으로 하는 경우 상태 배지 설정 페이지에서 샘플 Markdown을 복사하여 파일에 붙여넣을 수 있습니다.

GitHub의 추가 정보에서 배지를 보여 주는 스크린샷

일, 주, 월 또는 연도의 시작을 기준으로 작업 쿼리

팀이 다음에 나올 내용이나 스프린트 반복을 기반으로 하는 작업에 집중하는 경우가 많지만, 달력의 렌즈를 통해 작업을 되돌아보며 지난 달 또는 올해 1분기에 일어난 모든 작업을 보고하는 것이 흥미로울 수 있습니다. 이제 날짜 기반 필드와 함께 다음과 같은 새 @StartOf 매크로 집합을 사용하여 일, 주, 월 또는 연도의 시작을 기준으로 쿼리할 수 있습니다.

  • @StartOfYear
  • @StartOfMonth
  • @StartOfWeek
  • @StartOfDay

이러한 각 매크로는 다른 날짜 단위로 데이터를 이동할 수 있는 새 한정자 문자열도 허용합니다. 예를 들어 상태 변경 날짜 = 및 상태 변경 날짜 ><= @StartOfYear@StartOfYear("+3M")을 쿼리하여 올해 1분기에 완료된 모든 작업 항목을 찾는 쿼리를 작성할 수 있습니다. 자세한 내용은 쿼리 매크로 설명서를 참조하세요.

일, 주, 월 또는 연도의 시작을 기준으로 하는 작업에 대한 쿼리를 보여 주는 스크린샷

토론 메모 편집 및 삭제

Azure Boards 작업 항목 토론에서 고도로 투표된 Developer Community 기능의 가용성을 알리고, 메모를 편집하고 삭제하게 되어 기쁩니다. 메모를 편집하려면 소유한 메모를 마우스로 가리키면 두 개의 새 단추가 표시됩니다. 연필 아이콘을 클릭하면 편집 모드로 전환되고 편집을 수행하고 "업데이트" 단추를 눌러 편집 내용을 저장할 수 있습니다.

토론 주석을 보여 주는 스크린샷

오버플로 메뉴를 클릭하면 메모를 삭제하는 옵션이 표시됩니다. 이 댓글을 클릭하면 이 주석을 삭제할지 다시 묻는 메시지가 표시되고 메모가 삭제됩니다.

토론 메모를 삭제하는 방법을 보여 주는 스크린샷

작업 항목 양식의 기록 탭에서 편집 및 삭제된 모든 메모의 전체 추적이 표시됩니다. 또한 토론 환경의 UI를 업데이트하여 더 현대적이고 대화형으로 느낄 수 있도록 했습니다. 개인의 댓글이 시작되고 끝나는 위치를 명확하게 하기 위해 댓글 주위에 거품을 추가했습니다.

CSV 파일로 쿼리 결과 내보내기

이제 쿼리 결과를 웹에서 CSV 형식 파일로 직접 내보낼 수 있습니다.

쿼리 결과를 내보내는 방법을 보여 주는 짧은 비디오입니다.

이제 구문을 사용하여 AB#{work item ID} GitHub에서 문제, 끌어오기 요청 또는 커밋의 주석 내에서 작업 항목을 멘션 경우 해당 언급은 언급한 작업 항목으로 직접 이동하도록 클릭할 수 있는 하이퍼링크가 됩니다.

이렇게 하면 모든 관련 대화에 대해 Azure Boards 작업 항목을 어지럽히는 공식 링크가 만들어지지 않고 코드 또는 고객이 보고한 문제를 논의하는 동안 팀에게 작업 항목에 대한 자세한 정보를 제공할 수 있는 방법이 제공됩니다. 자세한 내용은 Azure Boards GitHub 통합 설명서를 참조하세요.

GitHub의 끌어오기 요청을 보여 주는 스크린샷

Azure Boards 계획하는 동안 GitHub의 문제에 대한 수락 및 실행

이제 Azure Boards 작업 항목을 GitHub의 관련 문제와 연결할 수 있습니다. 이 새로운 유형의 연결을 사용하면 이제 몇 가지 다른 시나리오가 가능합니다. 팀이 GitHub 내의 문제로 사용자의 버그 보고서를 계속 수락하고 Azure Boards 팀의 작업을 전체적으로 연결하고 구성하려는 경우 이제 수행할 수 있습니다.

Azure Boards 작업 항목을 GitHub의 관련 문제와 연결할 수 있음을 보여 주는 스크린샷.

팀에서 커밋 및 끌어오기 요청에 사용하는 것과 동일한 멘션 구문이 계속 적용되며, 물론 문제 URL과 Azure Boards 수동으로 연결할 수 있습니다. 자세한 내용은 GitHub & Azure Boards 설명서를 참조하세요.

Azure Boards GitHub 문제 URL과 수동으로 연결하는 방법을 보여 주는 스크린샷

Kanban 보드에서 연결된 GitHub 활동을 빠르게 봅니다.

Kanban 보드를 직접 검토하거나 팀으로 검토할 때 "이 항목이 아직 개발을 시작했나요?" 또는 "이 항목이 아직 검토 중입니까?"와 같은 질문이 있는 경우가 많습니다. Kanban 보드의 새 GitHub 주석을 사용하면 이제 항목이 어디에 있는지 빠르게 파악하고 GitHub 커밋, 끌어오기 요청 또는 문제로 직접 이동하여 자세한 내용을 확인할 수 있습니다. 이에 대한 자세한 내용과 작업 및 테스트에 대한 다른 주석은 카드 사용자 지정 설명서를 참조하세요.

Kanban 보드에서 연결된 GitHub 활동을 보는 방법을 보여 주는 스크린샷

Repos

초안 끌어오기 요청

끌어오기 요청이 준비되기 전에 완료되지 않도록 하고 모든 사람이 참여할 수 없는 진행 중인 작업을 쉽게 만들 수 있도록 하기 위해 이제 초안 끌어오기 요청을 지원합니다.

끌어오기 요청을 만들 때 만들기 단추 드롭다운에서 초안으로 만들기 선택하여 초안 끌어오기 요청을 만들 수 있습니다.

PR 초안 만들기

초안 끌어오기 요청을 만든 후에는 제목 옆에 상태 나타내는 배지가 표시됩니다.

초안임을 보여 주는 끌어오기 요청의 스크린샷.

초안 끌어오기 요청은 기본적으로 검토자를 포함하거나 빌드를 실행하지 않지만 수동으로 검토자를 추가하고 빌드를 실행할 수 있습니다. 끌어오기 요청을 일반 끌어오기 요청으로 승격하려면 끌어오기 요청 세부 정보 페이지에서 게시 단추를 클릭하기만 하면 됩니다.

자동 완성 끌어오기 요청에 대해 만료된 빌드 다시 실행

이제 Azure Repos 끌어오기 요청 정책에 의해 트리거된 만료된 빌드를 자동으로 큐에 추가합니다. 이는 다른 모든 정책을 통과하고 자동 완성으로 설정된 끌어오기 요청에 적용됩니다.

이전에는 끌어오기 요청에 필요한 검토자와 같은 정책이 있을 때 승인 프로세스가 너무 오래 걸리고 검토자가 끌어오기 요청을 승인하기 전에 연결된 빌드가 만료될 수 있었습니다. 끌어오기 요청이 자동 완료로 설정된 경우 사용자가 만료된 빌드를 수동으로 큐에 대기할 때까지 차단된 상태로 유지됩니다. 이 변경을 사용하면 빌드가 성공적으로 빌드된 후 끌어오기 요청이 자동으로 완료될 수 있도록 빌드가 자동으로 큐에 대기됩니다.

참고

이 자동화는 끌어오기 요청당 최대 5개의 만료된 빌드만 큐에 대기하고 각 빌드를 한 번만 다시 큐에 대기하려고 시도합니다.

끌어오기 요청에서 왼쪽 또는 오른쪽 파일 보기

현재 끌어오기 요청에서 파일 변경 내용을 볼 때 병렬 diff 또는 인라인 diff 모드를 사용할 수 있습니다. 많은 사용자가 원본 파일 또는 변경된 파일을 비교하지 않고 보고 싶다는 피드백을 받았으므로 왼쪽 파일 또는 오른쪽 파일을 개별적으로 볼 수 있는 새 옵션을 추가했습니다.

커서가 수정된 콘텐츠 표시를 마우스로 가리키고 있는 나란히 diff 옵션의 스크린샷

끌어오기 요청을 완료하기 위한 새 병합 형식

이제 끌어오기 요청에서 대상 분기로 변경 내용을 병합할 때 더 많은 옵션이 있습니다. Developer Community 가장 많이 요청된 두 가지 기능인 빠른 전달 병합반선형 병합("Rebase 및 Merge"이라고도 함)에 대한 지원이 추가되었습니다.

이제 끌어오기 요청 완료 대화 상자에서 사용할 수 있는 새 옵션이 표시됩니다.

끌어오기 요청을 완료하기 위한 새 병합 형식을 보여 주는 스크린샷

업데이트된 정책 관리 페이지를 사용하면 관리자가 분기 또는 분기 폴더에서 허용되는 병합 전략을 제어할 수 있습니다.

병합 형식 제한 섹션의 스크린샷

참고

기존 정책은 여전히 적용됩니다. 예를 들어 분기에 현재 "스쿼시 병합 전용" 정책이 있는 경우 새 병합 전략을 사용하려면 해당 정책을 편집해야 합니다.

끌어오기 요청 완료 중에 재지정할 수 없는 몇 가지 상황이 있습니다.

  • 대상 분기의 정책에서 재베이스 전략 사용을 금지하는 경우 "분기 정책 재정의" 권한이 필요합니다.
  • 끌어오기 요청의 원본 분기에 정책이 있는 경우 다시 지정할 수 없습니다. 다시 지정하면 정책 승인 프로세스를 거치지 않고 원본 분기가 수정됩니다.
  • 병합 충돌 확장을 사용하여 병합 충돌을 resolve 경우 끌어오기 요청의 모든 커밋을 한 번에 하나씩 다시 적용할 때 3방향 병합에 적용되는 충돌 해결은 거의 성공하지 못하거나 유효하지 않습니다.

이러한 모든 경우에 로컬로 분기를 다시 지정하고 서버에 푸시하거나 끌어오기 요청을 완료할 때 변경 내용을 스쿼시 병합할 수 있습니다.

PR(끌어오기 요청)에서 대상 분기별로 필터링

끌어오기 요청을 사용하면 팀이 코드를 검토하고 변경 내용을 기본 분기에 병합하기 전에 변경 내용에 대한 피드백을 제공할 수 있습니다. 제안된 변경 내용을 단계별로 실행하고, 의견을 남기고, 코드 변경 내용을 승인하거나 거부할 수 있으므로 많은 팀 워크플로에서 중요한 부분이 되었습니다.

끌어오기 요청을 더 쉽게 찾을 수 있도록 대상 분기를 사용하여 PR을 검색할 수 있는 필터링 옵션을 추가했습니다.

Azure Pipelines 끌어오기 요청 필터링 옵션의 스크린샷

대상 분기 필터링을 사용하여 마인 탭에서 끌어오기 요청 보기를 사용자 지정할 수도 있습니다.

마인 탭에서 끌어오기 요청 사용자 지정 스크린샷

확장에서 구문 강조 표시 및 자동 완성을 추가하도록 허용

현재 는 Monaco 편집기에서 지원하는 언어 하위 집합에 대한 구문 강조 표시를 게시합니다. 그러나 많은 사용자가 지원하지 않는 언어에 대한 고유한 구문 강조 표시를 만들려고 합니다.

이 업데이트를 통해 확장에서 파일 탐색기 및 끌어오기 요청 뷰에 구문 강조 표시 및 자동 완성을 추가할 수 있는 확장성 지점을 추가했습니다.

여기에서 이 기능을 보여 주는 확장의 예를 찾을 수 있습니다.

또한 Kusto 언어 구문 강조 표시에 대한 지원을 추가했습니다.

리포지토리 만들기 확장 지점

리포지토리 선택기에서 새 항목을 추가할 수 있도록 확장 지점을 추가했습니다. 이 확장 지점을 사용하면 리포지토리 선택기 메뉴에 사용자 지정 작업(리디렉션, 팝업 등)을 추가하여 대체 리포지토리 만들기 시나리오와 같은 흐름을 사용할 수 있습니다.

리포지토리 만들기 확장을 보여 주는 스크린샷

향상된 인코딩 지원

이전에는 웹에서 파일을 편집하고 저장하면 UTF-8 인코딩으로만 저장되며 파일 인코딩이 변경될 때 메시지를 표시하지 않았습니다. 이제 웹을 통해 인코딩된 UTF가 아닌 파일을 저장하려고 할 때 경고가 표시됩니다(UTF 인코딩만 지원). 또한 웹 푸시 엔드포인트를 통한 UTF-16 및 UTF-32 인코딩에 대한 지원을 추가했습니다. 즉, UTF-8로 다시 작성할 필요가 없도록 인코딩 형식을 유지합니다.

다음 스크린샷은 웹 푸시에 의한 인코딩 변경 내용을 소개할 때 표시되는 대화 상자의 예와 예를 보여줍니다.

비 ASCII 문자가 추가되었음을 나타내는 경고 mesaage를 보여 주는 스크린샷 커밋하면 이 파일이 유니코드로 인코딩됩니다.

Azure Repos 명령 지원 받기

Go는 golang이라고도 하는 오픈 소스 프로그래밍 언어입니다. Go에서 get 명령을 사용하여 패키지 및 종속성을 다운로드하고 설치할 수 있습니다. 이 업데이트를 통해 Azure DevOps 리포지토리 내에서 지원을 go get 추가했습니다. 를 사용하면 go get가져오기 경로에서 명명된 종속성이 있는 패키지를 다운로드할 수 있습니다. 키 단어를 사용하여 import 가져오기 경로를 지정할 수 있습니다.

Pipelines

YAML 파이프라인용 IntelliSense를 사용하는 웹 편집기

YAML을 사용하여 파이프라인을 정의하는 경우 이제 이 릴리스에 도입된 새 편집기 기능을 활용할 수 있습니다. 새 YAML 파이프라인을 만들든 기존 YAML 파이프라인을 편집하든 간에 파이프라인 웹 편집기 내에서 YAML 파일을 편집할 수 있습니다. YAML 파일을 편집할 때 IntelliSense용 Ctrl+Space 지원을 사용합니다. 구문 오류가 강조 표시되고 해당 오류를 수정하는 데도 도움이 됩니다.

강조 표시된 구문 오류를 보여 주는 스크린샷

YAML 파일 편집을 위한 작업 도우미

파이프라인에 대한 YAML 파일을 더 쉽게 편집할 수 있도록 요청하는 많은 피드백을 계속 받고 있으므로 YAML 편집기에서 작업 도우미 추가하고 있습니다. 이를 통해 클래식 편집기에서와 같이 YAML 파일에 새 작업을 추가하는 것과 동일한 친숙한 환경을 사용할 수 있습니다. 이 새로운 도우미 선택 목록 및 서비스 연결과 같은 대부분의 일반적인 작업 입력 유형을 지원합니다. 새 작업 도우미 사용하려면 YAML 기반 파이프라인에서 편집을 선택한 다음 작업 도우미 선택합니다.

작업 도우미 사용하여 YAML 파일을 편집하는 방법을 보여 주는 짧은 비디오입니다.

태그를 사용하여 YAML 파이프라인 트리거

태그가 커밋에 추가될 때 YAML 파이프라인을 트리거할 수 있습니다. 이는 워크플로에 태그가 포함된 팀에 유용합니다. instance 커밋에 "마지막으로 알려진 양수"로 태그가 지정된 경우 프로세스를 시작할 수 있습니다.

포함 및 제외할 태그를 지정할 수 있습니다. 예를 들면 다음과 같습니다.

trigger:
  tags:
    include:
    - releases/*
    exclude:
    - releases/old*

컨테이너 리소스 인라인 선언

이전에는 YAML 파이프라인에서 컨테이너 리소스를 선언한 다음 이름으로 참조해야 했습니다. 이제 컨테이너를 여러 번 참조하지 않을 경우 인라인 구문을 제공합니다.

jobs:
- job: my-container-job
  container:
    image: microsoft/dotnet:latest

끌어오기 요청이 업데이트되면 기존 파이프라인 자동 취소 설정

기본적으로 새 커밋이 동일한 PR로 푸시되면 PR(끌어오기 요청)에 의해 트리거되는 파이프라인이 취소됩니다. 일반적으로 오래된 코드에서 파이프라인을 계속 실행하지 않기 때문에 대부분의 경우 바람직합니다. 이 동작을 원하지 않는 경우 PR 트리거에 autoCancel: false 를 추가할 수 있습니다.

pr:
  branches:
    include:
    - main
    - releases/*
  autoCancel: false

YAML 파이프라인에서 체크 아웃된 코드의 디렉터리 선택

이전에는 $(Agent.BuildDirectory)에서 디렉터리에 대한 리포 s 지토리를 체크 아웃했습니다. 이제 YAML 파이프라인에서 사용할 Git 리포지토리를 체크 아웃할 디렉터리를 선택할 수 있습니다.

키워드(keyword) pathcheckout 사용하면 폴더 구조를 제어할 수 있습니다. 다음은 디렉터리를 지정하는 데 사용할 수 있는 YAML 코드의 예입니다.

steps:
- checkout: self
  path: my-great-repo

이 예제에서는 에이전트 작업 영역의 my-great-repo 디렉터리로 코드를 체크 아웃합니다. 경로를 지정하지 않으면 리포지토리가 라는 s디렉터리로 계속 체크 아웃됩니다.

YAML에 최적화된 새 Azure App Service 작업

이제 최신 개발자를 염두에 두고 Azure 앱 Services를 배포하는 쉽고 강력한 방법을 제공하는 네 가지 새로운 작업을 지원합니다. 이러한 작업에는 최적화된 YAML 구문이 있으므로 Windows 및 Linux 플랫폼 모두에서 WebApps, FunctionApps, 컨테이너용 WebApps 및 컨테이너용 FunctionApps를 포함하여 Azure AppServices에 대한 배포를 간단하고 직관적으로 작성할 수 있습니다.

또한 XML 및 JSON 형식에 대한 파일 변환 및 변수 대체를 위한 새 유틸리티 작업을 지원합니다.

새 프로젝트에 대한 기본 권한 변경

지금까지 프로젝트 기여자는 명시적으로 "빌드 정의 만들기" 권한이 부여되지 않는 한 파이프라인을 만들 수 없었습니다. 새 프로젝트의 경우 팀 구성원은 파이프라인을 쉽게 만들고 업데이트할 수 있습니다. 이러한 변경으로 Azure Pipelines에 온보딩하는 신규 고객의 마찰이 줄어듭니다. 언제든지 기여자 그룹에 대한 기본 권한을 업데이트하고 해당 액세스를 제한할 수 있습니다.

파이프라인을 사용하여 GitHub 릴리스 관리

GitHub 릴리스는 사용자에게 소프트웨어를 패키지하고 제공하는 좋은 방법입니다. 이제 Azure Pipelines에서 GitHub 릴리스 작업을 사용하여 자동화할 수 있음을 발표하게 되어 기쁩니다. 작업을 사용하여 새 릴리스를 만들거나, 기존 초안/게시된 릴리스를 수정하거나, 이전 릴리스를 삭제할 수 있습니다. 여러 자산을 업로드하고, 릴리스를 시험판으로 표시하고, 릴리스를 초안으로 저장하는 등의 기능을 지원합니다. 이 작업은 릴리스 정보를 만드는 데도 도움이 됩니다. 또한 이 릴리스에서 수행된 변경 내용(커밋 및 관련 문제)을 자동으로 계산하고 사용자에게 친숙한 형식으로 릴리스 정보에 추가할 수도 있습니다.

작업에 대한 간단한 YAML은 다음과 같습니다.

task: GithubRelease@0 
displayName: 'Create GitHub Release'      
inputs:
  githubConnection: zenithworks
  repositoryName: zenithworks/pipelines-java
  assets: $(build.artifactstagingdirectory)/*.jar

GitHub 릴리스(미리 보기) 대화 상자의 스크린샷

이 작업을 사용하여 만든 샘플 GitHub 릴리스:

이 작업을 사용하여 만든 샘플 GitHub 릴리스의 스크린샷

이제 빌드 로그의 특정 줄에 대한 링크를 공유할 수 있습니다. 이렇게 하면 빌드 실패를 진단하는 데 다른 팀 구성원과 공동 작업할 때 도움이 됩니다. 결과 보기에서 로그 줄을 선택하여 링크 아이콘을 가져옵니다.

로그 줄이 강조 표시되고 이 선택 영역에 링크 복사 옵션이 호출된 솔루션 빌드 dirs.proj 파일의 스크린샷

리소스 권한 부여 개선 사항

YAML 파일에서 참조할 때 보호된 리소스(예: 서비스 연결, 변수 그룹, 에이전트 풀, 보안 파일)에 대한 보안을 제공해야 했습니다. 동시에 비프로덕션 시나리오에 이러한 유형의 리소스를 사용하는 파이프라인을 더 쉽게 설정하고 사용할 수 있도록 하고자 했습니다. 이전에는 리소스를 '모든 파이프라인에서 사용할 수 있는 권한'으로 표시하는 설정을 추가했습니다.

이 업데이트를 통해 리소스를 표시하지 않은 경우에도 리소스 권한 부여 문제를 보다 쉽게 해결할 수 있습니다. 새 환경에서 리소스 권한 부여 오류로 인해 빌드가 실패하면 파이프라인에서 해당 리소스의 사용을 명시적으로 승인한 다음 계속 진행하는 옵션이 표시됩니다. 리소스에 권한을 부여할 수 있는 권한이 있는 팀 구성원은 실패한 빌드에서 바로 이 작업을 완료할 수 있습니다.

권한 부여 오류가 있는 파이프라인 요약을 보여 주는 스크린샷

파이프라인 테스트 탭의 새 확장 기여 지점

파이프라인의 테스트 결과 탭에 두 개의 새로운 기여 지점을 추가하여 확장 프레임워크를 더욱 강력하게 만들어 왔습니다. 이를 통해 Marketplace 확장은 보다 맞춤화된 보고 환경을 제공하고 대화형 작업을 추가할 수 있습니다.

두 가지 기여 지점은 다음과 같습니다.

  1. 도구 모음의 사용자 지정 작업 단추

    경우에 따라 API의 데이터를 업데이트하거나 테스트 결과의 메타데이터를 사용하여 사용자 지정 도구를 실행하는 등의 작업을 수행할 수 있습니다. 이 기여 지점을 사용하면 선택한 테스트 결과의 즉각적인 컨텍스트를 사용하여 *사용자 지정 작업- 단추에 사용자 지정 작업을 추가하는 확장을 만들 수 있습니다.

    사용자 지정 작업 옵션의 스크린샷

  2. 세부 정보 창의 사용자 지정 세부 정보 탭

    다양한 테스트 보고서 사용 워크플로가 있을 수 있으며 디버깅 및 분석을 위해 실패한 테스트에 대해 다른 데이터 요소를 볼 수 있습니다. 이 기여 지점을 사용하여 팀은 데이터 그리드에서 테스트 결과 행을 선택할 때 나타나는 세부 정보 창에 새 탭을 추가할 수 있습니다. 이 새 탭은 내부 또는 외부 API를 사용하여 가져온 정적 콘텐츠 또는 동적 데이터가 있는 보기를 표시할 수 있습니다.

에이전트 한 번 실행

Azure Container Instances 같은 인프라를 사용하여 탄력적 프라이빗 에이전트를 실행하는 경우 각 에이전트가 나가기 전에 하나의 작업만 수락하도록 하는 경우가 많습니다. 지금까지 에이전트를 종료하거나(오류가 보고될 수 있음) 에이전트를 종료하기 전에 다른 작업을 받을 수 있는 위험을 감수해야 했기 때문에 쉽지 않았습니다. 이 업데이트를 통해 에이전트 구성에 --once 플래그를 추가했습니다. 이러한 방식으로 에이전트를 구성하면 하나의 작업만 수락한 다음, 자체 작업을 종료합니다.

에이전트 풀 사용자 인터페이스 업데이트

프로젝트 설정의 에이전트 풀 관리 페이지가 새 사용자 인터페이스로 업데이트되었습니다. 이제 풀에서 실행 중인 모든 작업을 쉽게 볼 수 있습니다. 또한 작업이 실행되지 않는 이유를 알아볼 수 있습니다.

에이전트 풀 UX(사용자 환경) 업데이트 에이전트 풀 UX 보여 주는 스크린샷

배포 그룹에서 실패한 대상에 배포

기본적으로 Azure Pipelines는 이전에 실패한 실행을 다시 배포할 때 모든 작업을 다시 실행하는 데 사용됩니다. 이제 배포할 때 배포 옵션을 구성하여 이 동작을 재정의할 수 있습니다. 배포 그룹에서 모든 작업 및 실패한 대상으로 제한을 선택하면 다시 실행하면 모든 작업이 실행되고 배포가 이미 최신 대상으로 건너뜁니다.

선택한 배포 옵션, 테스트 실패 및 배포 옵션 섹션이 호출된 것을 보여 주는 스크린샷

실패 시 자동으로 다시 배포

스테이지에 대한 배포가 실패하면 이제 Azure Pipelines에서 마지막으로 성공한 배포를 자동으로 다시 배포할 수 있습니다. 배포 후 조건에서자동 재배포 트리거를 구성하여 마지막으로 성공한 릴리스를 자동으로 배포하도록 스테이지를 구성할 수 있습니다. 향후 스프린트에서 트리거된 이벤트 및 작업을 자동 재배포 구성에 추가할 계획입니다. 자세한 내용은 배포 그룹 설명서를 참조하세요.

자동 재배포 트리거 섹션이 호출된 배포 후 조건 대화 상자를 보여 주는 스크린샷

Grafana 주석 서비스 후크

이제 Grafana dashboard 배포 완료 이벤트에 대한 Grafana 주석을 추가할 수 있는 새 서비스 후크를 지원합니다. 이렇게 하면 Grafana dashboard 시각화되는 애플리케이션 또는 인프라 메트릭의 변경 내용과 배포를 상호 연결할 수 있습니다.

메트릭의 변경 내용을 보여 주는 Grafana dashboard 스크린샷

Azure Monitor 경고 작업 쿼리

이전 버전의 Azure Monitor 쿼리 작업은 클래식 모니터링 환경에서만 경고 쿼리를 지원했습니다. 이 새 버전의 작업을 사용하면 Azure Monitor에서 최근에 도입한 통합 모니터링 환경에 대한 경고를 쿼리할 수 있습니다.

Azure Monitor 경고 쿼리 미리 보기를 보여 주는 스크린샷

Kubernetes에 배포 작업에서 사양 파일의 인라인 입력

이전에는 Kubernetes 배포 태스크에서 구성에 대한 파일 경로를 제공해야 했습니다. 이제 구성을 인라인으로 추가할 수도 있습니다.

인라인 구성 기능을 보여 주는 스크린샷

Docker CLI 설치 관리자 작업

이 작업을 통해 사용자가 지정한 대로 에이전트에 모든 버전의 Docker CLI를 설치할 수 있습니다.

설치된 DockerCLI를 보여 주는 스크린샷

삭제된 릴리스 파이프라인 복원

사용하지 않는 릴리스 파이프라인을 삭제하면 릴리스 파이프라인 목록을 클린 유지하는 데 도움이 되지만 실수로 무언가를 삭제하는 경우도 있습니다. 이 업데이트를 사용하면 지난 30일 이내에 삭제된 릴리스 파이프라인을 복원할 수 있습니다. 삭제된 릴리스 파이프라인 목록을 표시하는 릴리스 페이지의 왼쪽 패널에 새 탭을 추가했습니다. 이 보기에서 목록에서 파이프라인을 선택하고 복원 단추를 클릭하여 삭제된 릴리스 파이프라인을 복원 할 수 있습니다.

파이프라인에 대한 복원 옵션을 보여 주는 스크린샷

릴리스 만들기 요청 실패에 대한 알림

빌드, 코드 베이스 및 기타 작업이 변경될 때 메일을 받도록 알림을 설정할 수 있습니다. 예를 들어 작업 항목이 할당될 때 알림을 받도록 경고를 설정할 수 있습니다.

이 업데이트를 통해 릴리스 범주에 새 알림 구독을 추가했습니다. 이 알림은 릴리스 만들기에 대한 요청이 실패할 때 전자 메일을 보냅니다. 이 시나리오가 유용할 수 있는 예제 시나리오는 아티팩트 버전을 사용할 수 없기 때문에 릴리스 만들기 요청이 실패하는 경우입니다. 알림을 관리하는 방법을 알아보려면 여기 설명서를 참조 하세요.

릴리스 범주가 강조 표시되고 릴리스 만들기에 대한 A 요청 실패 옵션이 호출된 새 구독 마법사를 보여 주는 스크린샷

원본 또는 파이프라인 변경에 대한 릴리스 예약

이전에는 예약된 릴리스 트리거가 있을 때 업스트림 아티팩트 또는 릴리스 정의에서 변경 내용이 검색되지 않은 경우에도 릴리스가 트리거됩니다. 아티팩트 버전 또는 릴리스 정의가 변경된 경우에만 릴리스를 예약하는 옵션이 릴리스 트리거 예약 패널에 추가되었습니다.

원본 또는 파이프라인이 변경된 경우 예약된 릴리스만 릴리스 옵션이 호출된 예약된 릴리스 트리거 섹션의 스크린샷

릴리스 만들기 대화 상자의 변수에 대한 기여 지점

이전에는 릴리스를 만드는 동안 필요한 변수 값을 사용자가 도움이나 제안 없이 입력해야 했습니다. 릴리스를 만드는 동안 변수 값을 채우는 데 도움이 되는 확장을 지원하기 위해 새 릴리스 만들기 대화 상자에 기여 지점을 추가했습니다.

새 릴리스 만들기 대화 상자의 스크린샷

Azure Service Bus 세션 큐에 게시

세션 큐에 메시지를 게시하는 기능을 포함하도록 에이전트 없는 작업 빌드 작업을 확장했습니다. 이 옵션은 Azure Service Bus 게시 작업에 추가되었습니다.

게시 Azure Service Bus 작업의 스크린샷

Kubernetes 서비스 연결의 새 Azure 구독 옵션

빌드 및 릴리스에 대한 서비스 연결을 사용하면 외부 및 원격 서비스에 연결하여 빌드 또는 배포에 대한 작업을 실행할 수 있습니다. 프로젝트의 관리 설정에서 서비스 연결을 정의하고 관리할 수 있습니다.

이 업데이트를 통해 Kubernetes 서비스 연결 양식에 인증 옵션을 추가했습니다. 이제 Azure 구독 을 선택하여 연결을 인증할 수 있습니다. 이렇게 하면 Azure 구독 및 클러스터 이름으로 Kubernetes 연결을 설정하여 특정 네임스페이스에 쉽게 배포할 수 있습니다.

RBAC(역할 기반 액세스 제어) 사용 클러스터의 경우 ServiceAccountRoleBinding 개체가 선택한 네임스페이스에 만들어집니다. RoleBinding 개체는 만든 서비스 계정의 작업을 선택한 네임스페이스로만 제한합니다. RBAC 사용 안 함 클러스터의 경우 만든 서비스 계정에는 네임스페이스에서 클러스터 전체 권한이 있습니다.

Azure 구독 옵션이 호출된 Kubernetes 서비스 연결 추가 대화 상자의 스크린샷

Docker 레지스트리 서비스 연결의 Azure 컨테이너 레지스트리

이제 프로젝트의 설정 페이지에서 Docker 레지스트리 서비스 연결을 만들 수 있습니다. 연결을 만들려면 AAD(Azure Active Directory) ID와 연결된 구독 중 하나에서 Azure 컨테이너 레지스트리를 선택합니다. Docker@2KubernetesManifest@0 같은 컨테이너 레지스트리에 대한 서비스 연결이 필요한 모든 작업은 연결을 지정하는 단일 방법을 지원합니다.

Docker 서비스 연결을 추가하는 방법을 보여 주는 스크린샷

릴리스 정의에서 폴더 이름으로 검색

릴리스 정의를 폴더에 저장하여 구성할 수 있습니다. 이전에는 폴더별로 검색을 수행할 수 있는 옵션이 없었습니다. 폴더를 많이 만든 경우 특정 릴리스 정의를 찾기가 어려웠습니다. 이제 릴리스 정의에서 폴더 이름으로 검색하여 원하는 정의를 더 쉽게 찾을 수 있습니다.

폴더에 저장된 릴리스 정의를 보여 주는 스크린샷

빌드 및 릴리스 파이프라인의 더플 도구 설치 관리자 작업

Duffle은 CNAB(클라우드 네이티브 애플리케이션 번들)를 설치하고 관리할 수 있는 명령줄 도구입니다. CNAB를 사용하면 컨테이너 네이티브 앱과 해당 서비스를 번들, 설치 및 관리할 수 있습니다.

이 업데이트에서는 특정 버전의 Duffle 이진 파일을 설치할 수 있는 빌드 및 릴리스 파이프라인에 대한 새 작업을 추가했습니다.

더플 도구 설치 관리자의 스크린샷

Kubernetes 매니페스트 작업

매니페스트 파일을 사용하여 Kubernetes 클러스터에 배포하는 프로세스를 간소화하기 위해 릴리스 파이프라인에 새 작업을 추가했습니다. 이 작업은 스크립트에서 kubectl 이진을 사용하는 경우와 비교하여 다음과 같은 이점을 제공합니다.

  • 아티팩트 대체 - 배포 작업은 태그 또는 다이제스트와 함께 지정할 수 있는 컨테이너 이미지 목록을 입력으로 사용합니다. 이는 클러스터에 적용하기 전에 매니페스트 파일의 템플릿이 아닌 버전으로 대체되어 클러스터의 노드에서 올바른 버전의 이미지를 끌어오도록 합니다.

  • 매니페스트 안정성 - 작업 상태 성공/실패로 계산하는 동안 안정성 검사를 통합하기 위해 배포된 Kubernetes 개체에 대한 롤아웃 상태 확인됩니다.

  • 추적 가능성 주석 - 원본 organization, 프로젝트, 파이프라인 및 실행에 대한 추적 가능성 정보를 중첩하기 위해 배포된 Kubernetes 개체에 주석이 추가됩니다.

  • 매니페스트 베이킹 - 작업의 베이킹 작업을 사용하면 Helm 차트를 Kubernetes 매니페스트 파일로 베이킹하여 클러스터에 적용할 수 있습니다.

  • 배포 전략 - 배포 작업을 사용하여 카나리아 전략을 선택하면 작업의 승격/거부 작업을 활용하여 보존할 버전을 완료하기 전에 작업 중에 ManualIntervention 비교할 수 있도록 -baseline-canary 접미사가 접미사가 추가된 워크로드의 원하는 비율을 만듭니다.

steps:
- task: KubernetesManifest@0
  name: bake
  displayName: Bake K8s manifests from Helm chart
  inputs:
    action: bake
    helmChart: charts/sample
    overrides: 'image.repository:nginx'

- task: KubernetesManifest@0
  displayName: Deploy K8s manifests
  inputs:
    kubernetesServiceConnection: k8sSC1
    manifests: $(bake.manifestsBundle)
    containers: |
      nginx: 1.7.9

Docker 작업으로 업그레이드

파이프라인 작성 환경을 간소화하기 위해 Docker 작업을 업그레이드했습니다. 이제 buildAndPush 명령을 사용하여 특정 컨테이너 리포지토리에 대한 여러 태그를 빌드하고 단일 단계에서 여러 컨테이너 레지스트리에 푸시할 수 있습니다. 작업은 Docker 레지스트리 서비스 연결을 사용하여 컨테이너 레지스트리에 로그인할 수 있습니다. 원본 리포지토리, 커밋 및 빌드 출처에 대한 추적 가능성 메타데이터는 이 작업을 사용하여 빌드된 이미지에 레이블로 추가됩니다.

steps:
- task: Docker@2
  displayName: Container registry login - ACR1 service connection
  inputs:
    command: login
    containerRegistry: acr1
- task: Docker@2
  displayName: Container registry login - ACR2 service connection
  inputs:
    command: login
    containerRegistry: acr2
- task: Docker@2
  displayName: Build and push images
  inputs:
    repository: test
    tags: |
      d1
      d2

Kubectl 도구 설치 관리자

에이전트에 특정 버전의 Kubectl 이진 파일을 설치할 수 있는 새 작업을 추가했습니다. 'v1.14.0'과 같은 최신셈버 버전 문자열은 Kubectl 버전 사양 입력에 유효한 값으로 허용됩니다.

Kubectl 도구 설치 관리자를 보여 주는 스크린샷

ServiceNow 통합 개선 사항

팀 간 협업의 주요 기능은 각 팀이 선택한 서비스를 사용하고 효과적인 엔드 투 엔드 배달을 가능하게 하는 것입니다. 이 업데이트를 통해 모든 유형의 변경(정상, 표준 및 응급)을 지원하도록 ServiceNow 통합이 향상되었습니다. 또한 이제 organization 이어지는 ITSM 프로세스에 따라 기존 템플릿을 사용하여 새 변경 요청을 만드는 데 사용되는 게이트를 지정할 수 있습니다. 마지막으로 기존 변경 요청에 따라 릴리스를 제어할 수도 있습니다. 이렇게 하면 IT 팀에서 권장하는 프로세스를 변경할 필요 없이 CD를 채택할 수 있습니다.

ServiceNow 변경 관리 기능을 보여 주는 스크린샷

Red Hat Enterprise Linux 6 지원

이 업데이트를 통해 Red Hat Enterprise Linux 6에 대한 에이전트 지원이 추가되었습니다. 이제 빌드 및 릴리스 작업 실행을 위해 Red Hat Enterprise Linux 6 플랫폼을 대상으로 하는 에이전트를 구성할 수 있습니다.

Azure PowerShell Az 모듈 지원

Azure PowerShell 명령줄에서 Azure 리소스를 관리하는 데 사용할 수 있는 cmdlet 집합을 제공합니다. 지난 12월, Azure PowerShell Az 모듈을 사용할 수 있게 되었고 이제 Azure 리소스를 관리하기 위한 모듈이 되었습니다.

이전에는 호스트된 에이전트에서 Azure PowerShell Az 모듈에 대한 지원을 제공하지 않았습니다. 빌드 및 릴리스 파이프라인의 새 Azure PowerShell 작업 버전 4.*를 사용하여 모든 플랫폼에 대한 새 Az 모듈에 대한 지원을 추가했습니다. Azure PowerShell 작업 버전 3.*은 AzureRM 모듈을 계속 지원합니다. 그러나 최신 Azure 서비스 및 기능을 따라가려면 가능한 한 빨리 Azure PowerShell 작업 버전 4.*로 전환하는 것이 좋습니다.

Az 모듈에는 새 구문을 사용하도록 업데이트하는 동안 기존 스크립트를 사용하는 데 도움이 되는 호환성 모드가 있습니다. Az 모듈에 대한 호환성을 사용하도록 설정하려면 명령을 사용합니다 Enable-AzureRmAlias . 별칭을 사용하면 Az 모듈에서 이전 cmdlet 이름을 사용할 수 있습니다. 여기에서 Azure RM 모듈에서 Azure PowerShell Az 모듈로 마이그레이션하는 방법을 자세히 확인할 수 있습니다.

참고

프라이빗 에이전트를 사용하는 경우 에이전트 컴퓨터에 Az 모듈을 설치해야 합니다.

Azure PowerShell Az 모듈에 대한 자세한 내용은 여기 설명서를 참조하세요.

Azure SQL 작업에 대한 Azure AD(Active Directory) 인증 지원

Azure SQL 작업은 SQL Server 인증에 대한 기존 지원 외에도 Azure AD(통합 & 암호) 및 연결 문자열 사용하여 데이터베이스에 연결할 수 있도록 개선되었습니다.

인증 유형 드롭다운 옵션이 강조 표시된 Azure SQL 데이터베이스 배포 대화 상자의 스크린샷

긴 파일 경로를 사용하여 빌드 아티팩트 게시

지금까지는 경로가 233자보다 긴 빌드 아티팩트 업로드를 방지하는 제한 사항이 있었습니다. 이렇게 하면 Linux 및 macOS 빌드에서 제한보다 긴 파일 경로를 사용하여 코드 검사 결과를 업로드하지 못할 수 있습니다. 긴 경로를 지원하도록 제한이 업데이트되었습니다.

커밋에 대한 CI(연속 통합) 건너뛰기

이제 커밋을 무시하고 커밋이 일반적으로 트리거하는 파이프라인 실행을 건너뛰도록 Azure Pipelines에 지시할 수 있습니다. HEAD 커밋의 커밋 메시지 포함 [skip ci] 하기만 하면 Azure Pipelines는 CI를 건너뜁니다. 아래에 나열된 변형을 사용할 수도 있습니다. Git 및 GitHub Enterprise Server를 Azure Repos 커밋에 대해 지원됩니다.

  • [skip ci] 또는 [ci skip]
  • skip-checks: true 또는 skip-checks:true
  • [skip azurepipelines] 또는 [azurepipelines skip]
  • [skip azpipelines] 또는 [azpipelines skip]
  • [skip azp] 또는 [azp skip]
  • ***NO_CI***

Test Plans

테스트 결과 추세(고급) 위젯

테스트 결과 추세(고급) 위젯은 여러 빌드 및 릴리스에 대한 테스트 데이터에 대한 거의 실시간 가시성을 제공합니다. 테스트 결과 추세(고급) 위젯은 파이프라인 또는 파이프라인 전반에 걸쳐 테스트 결과의 추세를 표시합니다. 이를 사용하여 테스트, 통과률 및 테스트 기간의 일일 수를 추적할 수 있습니다. 시간이 지남에 따라 테스트 품질을 추적하고 테스트 담보를 개선하는 것이 정상적인 DevOps 파이프라인을 유지하는 데 핵심입니다.

테스트 결과 추세(고급) 위젯의 스크린샷

테스트 결과 추세(고급) 위젯은 테스트 결과에서 이상값을 찾고 다음과 같은 질문에 대답하는 데 도움이 됩니다. 테스트를 실행하는 데 평소보다 오래 걸리나요? 전체 통과 속도에 영향을 주는 테스트 파일 또는 파이프라인은 무엇인가요? 장기 실행 테스트란?

이러한 질문에 대답하는 데 도움이 되도록 위젯은 다음과 같은 기능을 제공합니다.

  • 통과률의 추세와 테스트 결과 또는 테스트 기간 수를 표시합니다.
  • 여러 빌드 파이프라인 또는 릴리스 파이프라인을 기반으로 테스트 결과를 표시합니다.
  • 결합된 차트 옵션을 사용하여 동일한 추세에 대해 두 메트릭 표시
  • 테스트 결과를 기준으로 시간이 지남에 따라 테스트 수를 필터링합니다.
  • 분기 또는 테스트별로 모든 테스트 결과를 필터링합니다.
  • 우선 순위 또는 환경과 같은 테스트 특성별로 메트릭을 스택합니다.
  • 테스트 파일, 소유자 또는 파이프라인에서 데이터 그룹화

위젯은 매우 구성 가능하여 다양한 시나리오에 사용할 수 있습니다.

URL을 통해 테스트 실행 결과 공유

빌드 또는 릴리스의 일부로 실행되도록 자동화된 테스트를 구성할 수 있습니다. 게시된 테스트 결과는 빌드 또는 릴리스 요약의 테스트 탭에서 볼 수 있습니다. 이 업데이트를 통해 단일 테스트 실행 결과를 팀의 다른 사용자와 공유할 수 있도록 결과 URL 복사 기능이 추가되었습니다.

공유 수준은 다음과 같습니다.

  • 실행 수준
  • 결과 수준
  • 테스트 실행 내에서 선택한 개별 탭
  • 공유는 구성된 확장 탭과도 호환됩니다.

URL을 공유하면 뷰어에서 전체 화면 보기에서 테스트 실행 결과를 볼 수 있습니다.

Artifacts

SemVer 2.0.0 버전 번호가 있는 NuGet 패키지

이전에는 Azure Artifacts에서 SemVer 2.0.0 버전 번호가 있는 NuGet 패키지를 지원하지 않았습니다(일반적으로 버전에서 빌드 메타데이터 부분을 포함하는 버전 번호는 로 표시 +됨). 이제 빌드 메타데이터가 포함된 nuget.org 패키지를 저장하고 빌드 메타데이터를 사용하여 사용자 고유의 패키지를 푸시할 수 있습니다. SemVer 사양NuGet.org 정책에 따라 빌드 메타데이터를 사용하여 패키지를 주문할 수 없습니다. 따라서 해당 버전이 동등한 것으로 간주되어 불변성 제약 조건이 적용되므로 및 를 Azure Artifacts(또는 nuget.org)에 모두 1.0.0+build11.0.0+build2 게시할 수 없습니다.

패키지에 대한 출처 정보

이 업데이트를 통해 패키지의 출처를 좀 더 쉽게 이해할 수 있습니다. 패키지의 출처는 누가, 무엇을 게시했는지, 어떤 소스 코드 커밋에서 왔는지를 파악할 수 있습니다. 이 정보는 Azure Pipelines의 NuGet, npm, MavenTwine Authenticate (Python용) 작업을 사용하여 게시된 모든 패키지에 대해 자동으로 채워집니다.

패키지 사용 통계

지금까지 Azure Artifacts는 패키지의 사용량 또는 인기를 측정하는 방법을 제공하지 않았습니다. 이 업데이트를 통해 패키지 목록 및 패키지 세부 정보 페이지에 다운로드사용자 수를 추가했습니다. 두 페이지의 오른쪽에서 통계를 볼 수 있습니다.

패키지 사용 통계의 스크린샷.

Python 패키지 지원

Azure Artifacts는 이제 Python 패키지를 호스트할 수 있습니다. 즉, 직접 생성하는 패키지와 공용 PyPI에서 저장된 패키지를 업스트림. 자세한 내용은 공지 블로그 게시물 및 문서를 참조하세요.

이제 동일한 피드에서 모든 NuGet, npm, Maven 및 Python 패키지를 호스트할 수 있습니다.

동일한 피드에서 호스트되는 모든 패키지를 보여 주는 스크린샷

Maven에 대한 업스트림 원본

이제 Maven 피드에 업스트림 원본을 사용할 수 있습니다. 여기에는 기본 Maven Central 리포지토리 및 Azure Artifacts 피드가 포함됩니다. Maven 업스트림을 기존 피드에 추가하려면 피드 설정을 방문하여 업스트림 원본 피벗을 선택한 다음, 업스트림 원본 추가를 선택합니다.

업스트림 원본 추가 옵션을 보여 주는 스크린샷

지금까지 많은 아티팩트 관련 빌드 작업이 Azure Pipelines의 프록시 인프라를 완전히 지원하지 않아 온-프레미스 에이전트의 작업을 사용하는 데 어려움이 있었습니다. 이 업데이트를 통해 다음 작업에 프록시에 대한 지원이 추가되었습니다.

  • Npm@1(디자이너의 'npm')
  • NuGetCommand@2(디자이너의 'NuGet'): 복원 및 푸시 명령만
  • DotNetCoreCLI@2(디자이너의 '.NET Core'): 복원 및 nuget 푸시 명령만
  • 디자이너에서 NpmAuthenticate@0, PipAuthenticate@0 및 TwineAuthenticate@0('[type] Authenticate'): 이러한 작업은 인증 토큰을 획득하는 동안 프록시를 지원하지만 프록시를 사용하도록 후속 작업/스크립트/도구를 구성해야 합니다. 다른 방법으로, 이러한 작업은 기본 도구(npm, pip, twine)에 대한 프록시를 구성하지 않습니다.
  • NuGetToolInstaller@0, NodeTool@0, DotNetCoreInstaller@0(디자이너의 '[type] Installer')

릴리스에서 지원되는 모든 아티팩트 패키지 유형

지금까지 파이프라인 릴리스의 Azure Artifacts 아티팩트 형식 에서는 NuGet 패키지만 지원되었습니다. 이 업데이트를 사용하면 Maven, npm 및 Python과 같은 모든 Azure Artifacts 패키지 형식이 지원됩니다.

릴리스에서 지원되는 아티팩트 뷰

이전에는 새 패키지 버전이 피드에 게시된 경우에만 Azure Artifacts 아티팩트 형식이 트리거될 수 있었습니다. 이제 보기에 대한 지원도 추가되었으므로 피드에 이미 있는 패키지가 보기로 승격될 때 릴리스를 트리거할 수 있습니다.

보존 정책은 최근에 다운로드한 패키지를 건너뛸 수 있습니다.

지금까지 Azure Artifacts 피드는 "패키지당 최대 버전 수"에 도달했을 때 이전 패키지 버전 삭제를 시작하는 기본 보존 정책을 제공했습니다. 이 업데이트를 통해 이 클린 수행할 때 최근에 다운로드한 패키지를 건너뛰는 기능이 추가되었습니다. 사용하도록 설정하려면 피드를 편집하고 최근에 다운로드한 패키지 건너뛰기 확인란을 검사.

피드를 관리할 수 있는 대리인

Azure Artifacts에서 PCA( 프로젝트 컬렉션 관리자 )는 항상 Azure DevOps 서버의 모든 피드를 관리할 수 있었습니다. 이 업데이트를 통해 PCA는 다른 사용자 및 그룹에 이 기능을 제공하여 피드를 관리하는 기능을 위임할 수도 있습니다.

Wiki

수식 및 비디오용 Markdown 템플릿

Wiki를 편집할 때 수식, 비디오YAML 태그 를 추가하기 위한 markdown 구문을 더 이상 기억할 필요가 없습니다. 이제 도구 모음에서 상황에 맞는 메뉴를 클릭하고 원하는 옵션을 선택할 수 있습니다.

목차, 비디오, YAML 태그 및 수식 옵션이 있는 확장된 상황에 맞는 메뉴를 보여 주는 스크린샷

Wiki에 Azure Boards 쿼리 결과 포함

이제 Azure Boards 쿼리 결과를 테이블 형식의 wiki 페이지에 포함할 수 있습니다. 아래 이미지는 릴리스된 모든 기능 목록과 위키에 포함된 현재 스프린트의 모든 활성 버그가 포함된 위키 페이지의 샘플을 보여 줍니다. 페이지에 표시되는 콘텐츠가 기존 작업 항목 쿼리를 사용하고 있습니다. 이 새로운 기능을 사용하면 동적 콘텐츠를 만들 수 있으며 위키 페이지를 수동으로 업데이트하는 것에 대해 걱정할 필요가 없습니다.

Wiki에 표시된 포함된 Azure Boards 쿼리 결과의 스크린샷

쿼리 결과는 다음 두 단계로 추가할 수 있습니다.

  1. 편집 도구 모음에서 "쿼리 결과" 단추를 클릭합니다.

쿼리 결과 옵션이 호출된 확장된 상황에 맞는 메뉴를 보여 주는 스크린샷

  1. 필요한 쿼리를 선택하고 "삽입" 단추를 클릭합니다.

이제 페이지를 저장한 후 쿼리 결과를 테이블 형식으로 볼 수 있습니다.

쿼리 결과 대화 상자의 스크린샷.

Wiki Markdown 편집기용 모노스페이스 글꼴

Wiki Markdown 편집기용 모노스페이스 글꼴이 도입되면 가독성이 더 이상 문제가 되지 않습니다. Markdown 원본은 클린 보기 쉽고 읽기 쉽습니다. 이 기능은 이 제안 티켓에 따라 우선 순위가 지정되었습니다.

모노스페이스 글꼴이 있는 Wiki의 스크린샷.

지금까지 연결된 페이지의 이름을 바꾸거나 이동한 경우 공유 Wiki 페이지 링크가 끊어졌습니다. 이제 URL에 페이지 ID를 추가하여 영구 링크를 도입했습니다. 이렇게 하면 시간이 지남에 따라 Wiki가 변경될 때 공유하는 링크가 그대로 유지됩니다.

이 기능은 이 제안 티켓에 따라 우선 순위 지정되었습니다.

Wiki 페이지에 작업 항목 상태 표시

이 업데이트에서는 Id 및 제목과 함께 작업 항목의 상태 페이지에 추가하여 Wiki 페이지에서 작업 항목 멘션을 향상시켰습니다.

향상된 작업 항목 멘션을 보여 주는 스크린샷

끌어오기 요청 주석 및 보드 토론의 작업 항목 참조에도 상태 표시됩니다.

@mention 사용자 및 그룹

이제 @mention 위키 페이지에서 사용자 및 그룹을 사용할 수 있습니다. 이렇게 하면 팀의 연락처 페이지, 지침 문서 및 지식 문서와 같은 문서가 더 풍부해집니다. 아래 이미지는 작업 및 책임자가 있는 스프린트 회고를 보여주는 예입니다.

class=@멘션 사용자 및 그룹 />

또한 위키 편집 페이지에 "@"를 입력하여 자동 제안에서 사용자 또는 그룹을 선택할 수도 있습니다. 언급된 사람도 메일로 알림을 받습니다.

입력을 시작할 때 나타나는 자동 제안 항목을 보여 주는 스크린샷 />

마지막으로 사용자를 클릭하여 @mentioned 카드 프로필 정보를 볼 수도 있습니다. 이 기능은 이 기능 제안에 따라 우선 순위 지정되었습니다.

위키 페이지의 알림

지금까지는 위키 페이지의 콘텐츠가 변경된 시기를 알 수 없었습니다. 이제 위키 페이지를 따라 페이지가 편집, 삭제 또는 이름이 변경될 때 전자 메일을 통해 알림을 받을 수 있습니다. Wiki에 대한 변경 내용을 추적하려면 위키 페이지에서 팔로우 단추를 선택합니다.

팔로우 옵션이 호출된 Azure DevOps Wiki 페이지의 스크린샷

이 기능은 이 제안 티켓에 따라 우선 순위 지정되었습니다. 자세한 내용은 여기에서 설명서를 참조 하세요.

HTML 태그 지원

이제 HTML 태그를 사용하여 wiki에서 더 풍부한 콘텐츠를 만들 수 있습니다. 아래에서 HTML 태그를 사용하여 수행할 수 있는 작업을 확인하세요.

  1. 이제 세부 정보요약 태그를 사용하여 위키 페이지 내에서 축소 가능한 섹션을 만들 수 있습니다. 열려 있는 특성을 추가하여 세부 정보를 기본적으로 확장된 상태로 유지할 수 있습니다.

    세부 정보 및 요약 태그를 사용하여 만든 축소 가능한 섹션을 보여 주는 스크린샷

    세부 정보 태그에 대한 자세한 내용은 여기 설명서를 참조하세요.

    이 제안 티켓에 따라 우선 순위가 지정되었습니다.

    참고

    이 태그는 Edge 및 인터넷 Explorer 브라우저에서 지원되지 않습니다.

향상된 테이블 만들기 및 편집

지금까지 위키에서 테이블을 만들고 편집하는 것은 어려웠습니다. Wiki에서 테이블을 더 쉽게 추가하고 관리할 수 있도록 변경했습니다.

  1. 표에서 테이블 만들기

    더 이상 markdown 테이블 구문을 기억할 필요가 없습니다. 이제 15 X 15 그리드에서 선택하여 markdown 테이블을 쉽게 만들 수 있습니다. 한 번의 클릭으로 테이블을 삽입하는 데 필요한 열 및 행 수를 선택하기만 하면 됩니다.

    테이블 서식 옵션이 선택된 빈 wiki 페이지를 보여 주는 스크린샷

    이 기능은 다음 제안 티켓에 따라 우선 순위가 지정되었습니다.

  2. 테이블 가독성 향상

    이제 편집기에서 표의 가독성을 높이기 위해 단어 줄 바 꿈을 전환할 수 있습니다. 단어 줄 바꿈을 사용하지 않도록 설정하면 큰 테이블의 내용을 더 쉽게 볼 수 있는 스크롤 막대가 추가됩니다.

    Word 줄 바꿈 옵션과 가로 스크롤 막대가 호출된 Wiki 페이지의 스크린샷

  3. Markdown 테이블 자동 서식 지정

    더 이상 markdown 열을 정렬하기 위해 공백을 추가할 필요가 없습니다. 표 서식 단추를 사용하면 셀에 공백을 추가하여 열을 정렬하여 markdown 테이블의 서식이 자동으로 지정됩니다. 큰 테이블이 있는 경우 단어 줄 바꿈을 사용하지 않도록 설정 하여 테이블을 더 쉽게 읽을 수 있도록 합니다.

    테이블 서식 옵션이 호출된 Wiki 페이지의 스크린샷

    Ctrl + Shift + F 바로 가기를 사용하여 테이블의 서식을 지정할 수도 있습니다.

보고

분석 확장은 더 이상 분석을 사용할 필요가 없습니다.

분석이 점점 더 Azure DevOps 환경의 필수적인 부분이 되고 있습니다. 고객이 데이터 기반 의사 결정을 내리는 데 도움이 되는 중요한 기능입니다.

업데이트 1의 경우 고객이 Analytics를 사용하기 위해 분석 확장이 더 이상 필요하지 않음을 발표하게 되어 기쁩니다. 이제 고객은 프로젝트 컬렉션 설정 아래에서 분석을 사용하도록 설정할 수 있습니다. 제품 내에서 바로 사용할 수 있는 간단한 프로세스입니다.

고객이 분석을 사용하도록 설정하는 방법은 다음과 같습니다.

  1. 프로젝트 컬렉션 설정으로 이동합니다.

분석 설정을 찾을 수 있는 위치를 보여 주는 스크린샷

  1. 분석 사용을 클릭합니다.

분석 사용 옵션을 보여 주는 스크린샷

정말 간단하죠! 컬렉션에 대해 분석 기반 환경이 켜집니다.

업그레이드된 Analytics 확장이 설치된 업데이트 1 및 Azure DevOps Server 2019 컬렉션에서 만든 새 컬렉션은 기본적으로 Analytics를 사용하도록 설정됩니다.

분석 및 분석에서 사용할 수 있는 환경에 대해 자세히 알아보려면 다음을 수행합니다.


사용자 의견

Microsoft는 여러분의 의견을 기다리고 있습니다! 문제를 보고하거나 아이디어를 제공하고 Developer Community 통해 추적하고 Stack Overflow에 대한 조언을 얻을 수 있습니다.


맨 위로 이동