Udostępnij przez


Azure Pipelines — aktualizacja sprintu 253

Funkcje

  • Aktualizacje hostowanego obrazu
  • Federacja tożsamości dla obciążeń wykorzystuje wystawcę Entra
  • Gradle@4 zadanie
  • Tożsamość użytkownika, który zażądał uruchomienia etapu

Aktualizacje hostowanego obrazu

Wprowadzamy aktualizacje, aby zapewnić bezpieczeństwo i aktualność hostowanych agentów usługi Azure Pipelines. Te aktualizacje obejmują dodanie obsługi dla Ubuntu-24.04, obrazów Windows 2025 i macOS-15 Sequoia, oraz wycofanie starszych obrazów, takich jak Ubuntu-20.04 i Windows Server 2019.

Aby uzyskać więcej informacji, odwiedź nasz wpis na blogu.

System macOS-15 Sequoia jest ogólnie dostępny

Obraz macOS-15 będzie dostępny dla hostowanych agentów usługi Azure Pipelines od 1 kwietnia. Aby użyć tego obrazu, zaktualizuj plik YAML w celu uwzględnienia elementu vmImage:'macos-15':

- job: macOS15
  pool:
    vmImage: 'macOS-15'
  steps:
  - bash: |
      echo Hello from macOS Sequoia
      sw_vers

Dla oprogramowania zainstalowanego na macOS-15 zobacz konfigurację obrazu.

Obraz macOS-14 będzie nadal używany podczas określania elementu macOS-latest. Zaktualizujemy macOS-latest do użycia macOS-15 w kwietniu.

Obraz systemu Windows-2025 jest dostępny w wersji zapoznawczej

Obraz windows-2025 jest teraz dostępny w wersji zapoznawczej dla agentów hostowanych w usłudze Azure Pipelines. Aby użyć tego obrazu, zaktualizuj plik YAML w celu uwzględnienia elementu vmImage:'windows-2025':

- job: win2025
  pool:
    vmImage: 'windows-2025'
  steps:
  - pwsh: |
      Write-Host "(Get-ComputerInfo).WindowsProductName"
      Get-ComputerInfo | Select-Object WindowsProductName
      Write-Host "`$PSVersionTable.OS"
      $PSVersionTable.OS

W przypadku zainstalowanego oprogramowania Window Server 2025 sprawdź konfigurację obrazu.

Obraz pipeline ubuntu-latest zacznie używać systemu ubuntu-24.04

W nadchodzących tygodniach zadania dla pipeline'ów określające ubuntu-latest zaczną używać ubuntu-24.04 zamiast ubuntu-22.04.

Aby uzyskać wskazówki dotyczące zadań korzystających z narzędzi, które nie znajdują się już na ubuntu-24.04 obrazie, zobacz nasz wpis na blogu. Aby nadal używać systemu Ubuntu 22.04, użyj etykiety obrazu ubuntu-22.04:

- job: ubuntu2404
  pool:
    vmImage: 'ubuntu-24.04'
  steps:
  - bash: |
      echo Hello from Ubuntu 24.04
      lsb_release -d
  - pwsh: |
      Write-Host "`$PSVersionTable.OS"
      $PSVersionTable.OS

Obraz ubuntu-20.04 jest przestarzały i zostanie wycofany 1 kwietnia 2023 roku.

Wycofujemy obsługę obrazu Ubuntu 20.04 w usłudze Azure Pipelines, ponieważ wkrótce osiągnie koniec wsparcia. Znajdź harmonogram wycofania z planem brownout na naszym blogu.

Federacja tożsamości obciążenia roboczego korzysta z wystawcy Entra

Nieco ponad rok temu udostępniliśmy federację tożsamości roboczej w ogólnej dostępności. Federacja tożsamości obciążenia umożliwia skonfigurowanie połączenia usługi bez wpisu tajnego. Tożsamość (rejestracja aplikacji, tożsamość zarządzana) będąca podstawą połączenia z usługą może być używana tylko w zamierzonym celu: połączenie usługi skonfigurowane w poświadczeniach federacyjnych tożsamości.

Teraz zmieniamy format poświadczeń federacyjnych dla nowych połączeń platformy Azure i usługi Docker. Istniejące połączenia usług będą działać tak jak wcześniej.

  Wystawca usługi Azure DevOps Wystawca entra (nowe połączenia usługi)
Wystawca https://vstoken.dev.azure.com/<organization id> https://login.microsoftonline.com/<Entra tenant id>/v2.0
Temat sc://<organization name>/<project name>/<service connection name> <entra prefix>/sc/<organization id>/<service connection id>

Nie ma żadnych zmian w konfiguracji i sposób uzyskiwania tokenów pozostaje taki sam. Zadania rurociągu nie muszą być aktualizowane i działają jak wcześniej.

Kroki tworzenia połączenia z usługą nie zmieniają się i w większości przypadków nowy wystawca nie jest widoczny. Podczas ręcznego konfigurowania połączenia z usługą Azure zostaną wyświetlone nowe poświadczenia federacyjne:

Skopiuj te wartości, tak jak wcześniej, podczas tworzenia poświadczenia federacyjnego dla rejestracji aplikacji lub tożsamości zarządzanej.

Automation

Podczas tworzenia połączenia usługi w automatyzacji przy użyciu interfejsu API REST, użyj poświadczeń federacyjnych zwróconych przez interfejs API:

authorization.parameters.workloadIdentityFederationIssuer
authorization.parameters.workloadIdentityFederationSubject

Podobnie, podczas tworzenia połączenia usługi za pomocą dostawcy Terraform azuredevops, zasób azuredevops_serviceendpoint_azurerm zwraca atrybuty workload_identity_federation_issuer i workload_identity_federation_subject.

Więcej informacji

zadanie Gradle@4

Utworzono nowe zadanie Gradle@4 z obsługą Gradle 8.0. Wbudowana opcja pokrycia kodu została usunięta z zadania Gradle, począwszy od Gradle@4. Aby użyć pokrycia kodu za pomocą narzędzia Gradle w ramach pipeline’u:

Konfiguracja analizy SonarQube została przeniesiona do rozszerzeń SonarQube lub SonarCloud w zadaniu Prepare Analysis Configuration.

Tożsamość użytkownika, który zażądał uruchomienia etapu

Aby zwiększyć bezpieczeństwo potoków YAML, warto wiedzieć, kto zażądał uruchomienia etapu. Aby rozwiązać ten problem, dodajemy dwie nowe wstępnie zdefiniowane zmienne, Build.StageRequestedBy i Build.StageRequestedById. Te zmienne są podobne do zmiennych Build.RequestedFor i Build.RequestedForId, ale dla etapu, a nie przebiegu.

Gdy użytkownik jawnie wyzwoli użytkownika, na przykład w przypadku ręcznego wyzwolenia etapu lub ponownego uruchomienia etapu, tożsamość jest używana do wypełniania dwóch zmiennych.

Następne kroki

Uwaga

Te funkcje będą wdrażane w ciągu najbliższych dwóch do trzech tygodni.

Przejdź do usługi Azure DevOps i przyjrzyj się.

Jak przekazać opinię

Chcielibyśmy usłyszeć, co myślisz o tych funkcjach. Użyj menu Pomocy, aby zgłosić problem lub podać sugestię.

Utwórz sugestię

Możesz również uzyskać porady i odpowiedzi na pytania społeczności w witrynie Stack Overflow.