Podpora zástupných znaků a podmíněných výrazů v souborech kanálů YAML

V tomto sprintu jsme zahrnuli podporu zástupných znaků a podmíněných výrazů pro soubory kanálů YAML. Kromě toho jsme provedli několik aktualizací hostovaných imagí Azure Pipelines.

Podrobnosti najdete v následujících popisech funkcí.

Azure Pipelines

Azure Repos

Azure Pipelines

Nové podmíněné výrazy YAML

Psaní podmíněných výrazů v souborech YAML je teď jednodušší s použitím ${{ else }} výrazů a ${{ elseif }} výrazů. Níže jsou uvedeny příklady použití těchto výrazů v souborech kanálů YAML.

steps:
- script: tool
  env:
    ${{ if parameters.debug }}:
      TOOL_DEBUG: true
      TOOL_DEBUG_DIR: _dbg
    ${{ else }}:
      TOOL_DEBUG: false
      TOOL_DEBUG_DIR: _dbg
variables:
  ${{ if eq(parameters.os, 'win') }}:
    testsFolder: windows
  ${{ elseif eq(parameters.os, 'linux') }}:
    testsFolder: linux
  ${{ else }}:
    testsFolder: mac

Podpora zástupných znaků ve filtrech cest

Zástupné znaky lze použít při zadávání větví pro zahrnutí a vyloučení pro triggery CI nebo PR v souboru YAML kanálu. Nemůžete je ale použít při zadávání filtrů cest. Nemůžete například zahrnout všechny cesty, které odpovídají src/app/**/myapp*. Na to upozornilo několik zákazníků jako nepříjemnosti. Tato aktualizace tuto mezeru vyplní. Při zadávání filtrů cest teď můžete použít zástupné znaky (**, *nebo ?).

Podpora více stavů v Bitbucketu

Azure Pipelines se integruje s úložišti Bitbucket a podporuje triggery CI a PR. Z jednoho úložiště Bitbucket můžete nastavit několik kanálů. Po dokončení těchto kanálů se ale v Bitbucketu zobrazil pouze jeden stav. Slyšeli jsme zpětnou vazbu od komunity vývojářů s žádostí o zobrazení stavu jednotlivých kanálů samostatně v Bitbucketu. V této aktualizaci jsme aktualizovali volání rozhraní API na Bitbucket a předali další informace o názvu kanálu.

Stav sestavení

Umožnit přispěvatelům přeskočit kontrolu komentářů PR před ověřením sestavení.

Pokud používáte Azure Pipelines s úložišti GitHub, doporučujeme automaticky nespouštět kanál ověřování PR pro příspěvky přijaté z odvozeného úložiště. Osvědčeným postupem je nejprve nechat jednoho ze spolupracovníků repozitáře zkontrolovat změnu a pak přidat komentář k pull requestu, aby se pipeline aktivovala. Tato nastavení můžete nakonfigurovat tak, že ve webovém editoru kanálu vyberete nabídku Triggers (pro kanály YAML) nebo kartu Triggers (pro klasické kanály buildu). Místo toho, abyste museli nejprve zkontrolovat všechny žádosti o přijetí změn ze forku od nečlenů týmu, můžete tuto zásadu vynutit jenom u příspěvků, které pocházejí od nečlenů týmu.

Díky této aktualizaci vám umožňujeme přeskočit získání PR komentáře od příspěvků jakéhokoli přispěvatele. Jako nečlen týmu, když vytvoříte fork a PR (žádost o přijetí změn) do upstreamu, nepovažujete se za přispěvatele do upstreamového úložiště, dokud se vaše PR nesloučí. Po sloučení vašeho pull requestu budete považováni za přispěvatele. Když vyberete novou možnost uvedenou níže, a někdo, kdo není členem týmu, poprvé odešle PR z forku, někdo z vašeho týmu bude muset PR zkontrolovat a přidat komentář, aby spustil pipeline. Jakmile se ale PR sloučí, jakýkoli další příspěvek od nečlena týmu přímo aktivuje pipeline, aniž by čekal na komentář k PR.

Vyžadovat komentář člena týmu před vytvořením pull requestu

Dostupnost Windows Serveru 2022 se sadou Visual Studo 2022 v agentech hostovaných Microsoftem (Preview)

Windows Server 2022 a Visual Studio Enterprise 2022 Preview jsou teď k dispozici ve verzi Preview na agentech hostovaných Microsoftem. Můžete jej použít odkazem na windows-2022 jako na obrázek ve vašem pipeline.

pool:
  vmImage: 'windows-2022'

steps:
- task: NuGetToolInstaller@1
- task: NuGetCommand@2
  inputs:
    restoreSolution: '**/*.sln'
- task: VSBuild@1 # Visual Studio 2022 build
  inputs:
    solution: '**/*.sln'
    msbuildArgs: '/p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:DesktopBuildPackageLocation="$(build.artifactStagingDirectory)\WebApp.zip" /p:DeployIisAppPath="Default Web Site"'
    platform: 'Any CPU'
    configuration: 'Release'

Když ve svých kanálech YAML odkazujete na pool windows-latest, stále to bude znamenat windows-2019, nikoli windows-2022, zatímco druhý pool je ve verzi preview.

Obraz sestavení Windows Serveru 2022 má různé nástroje a verze nástrojů v porovnání s Windows Serverem 2019. Podrobnosti najdete v vydání oznámení softwaru a v dokumentaci v úložišti virtuálních prostředí.

Obecná dostupnost macOS 11 na agentech hostovaných Microsoftem

MacOS 11 je teď obecně dostupný na agentech hostovaných Microsoftem. Můžete jej použít odkazem na macos-11 jako na obrázek ve vašem pipeline.

pool:
  vmImage: macos-11

Odebrání obrazu Ubuntu 16.04 pro Microsoftem hostované agenty

Jak jsme oznámili dříve, odebereme image Ubuntu 16.04 z agentů hostovaných Microsoftem 20. září 2021. Tradiční pětiletá podpora Ubuntu 16.04 od společnosti Canonical skončila v dubnu 2021. Budete muset migrovat kanály ubuntu-16.04 na ubuntu-18.04 nebo ubuntu-latest, které budou běžet na Ubuntu 20.04 LTS.

Buildy, které používají Ubuntu-16.04, již mají zaznamenané varování. Abychom měli jistotu, že o této změně vědí všichni, naplánovali jsme 2 krátké "brownouty" (částečné výpadky sítě). Buildy Ubuntu 16.04 se během období brownoutu nezdaří. Proto doporučujeme migrovat pracovní postupy před 6. září 2021.

Brownouty jsou naplánované na následující data a časy (všimněte si, že tyto hodnoty byly prodlouženy o hodinu od dřívějších oznámených časů): 6. září 2021 4:00 UTC – 10:00 UTC 14. září 2021 14:00 UTC – 10:00 UTC

Azure Repos

Obecná dostupnost nových stránek TFVC

Aktualizovali jsme různé stránky v Azure DevOps tak, aby používaly novou webovou platformu s cílem zajistit konzistentnější a přístupnější prostředí napříč různými službami. Stránky TFVC byly aktualizovány tak, aby používaly novou webovou platformu, a tyto změny byly už několik měsíců ve verzi Preview. V této aktualizaci zpřístupňujeme nové stránky TFVC obecně. V této aktualizaci se už v uživatelských nastaveních nezobrazí funkce Preview s názvem "Nové stránky TFVC".

Možnost nakonfigurovat tvůrce větví tak, aby nedostávali oprávnění pro správu svých větví

Když vytvoříte novou větev, získáte u této větve oprávnění Spravovat. Toto oprávnění umožňuje změnit oprávnění jiných uživatelů nebo povolit dalším uživatelům přispívat do této větve. Tvůrce větve může například toto oprávnění použít k tomu, aby jiný externí uživatel mohl provádět změny kódu. Nebo můžou potrubí nebo identitě služby sestavení povolit změnu kódu v této větvi. V některých organizacích s vyššími požadavky na dodržování předpisů by uživatelé neměli tyto změny provádět.

V této aktualizaci můžete nakonfigurovat všechna úložiště v projektu svého týmu a omezit tvůrce větví ve schopnosti získat oprávnění "Spravovat oprávnění". Uděláte to tak, že přejdete do nastavení projektu, vyberete Úložiště a pak Nastavení pro všechna úložiště nebo konkrétní úložiště.

Všechna nastavení úložišť

Toto nastavení je ve výchozím nastavení zapnuté a napodobuje stávající chování. Pokud ale chcete tuto novou funkci zabezpečení používat, můžete ji vypnout.

Zabraňte uživatelům forků hlasovat o upstreamových pull requestech

S Azure Repos můžou uživatelé s oprávněním ke čtení v úložišti vytvořit fork úložiště a provádět změny ve svém forku. Aby uživatelé mohli odeslat žádost o sloučení se svými změnami do upstreamu, potřebují oprávnění "přispívat ke pull requests" na upstreamu. Toto oprávnění ale také řídí, kdo může hlasovat o pull requestech v úložišti upstream. V důsledku toho se můžete ocitnout v situacích, kdy uživatel, který není přispěvatelem do úložiště, může odeslat pull request a způsobit jeho sloučení v závislosti na tom, jak nastavíte zásady větve.

V organizacích, které propagují innersource model, je běžný vzor forkování a přispívání. Abychom tento model dále zabezpečili a podpořili, měníme oprávnění hlasovat pro pull requesty z "příspěvek k pull requestům" na "příspěvek". Tato změna se ale ve výchozím nastavení neprovází ve všech organizacích. Pokud chcete toto oprávnění přepnout, musíte se přihlásit a vybrat v úložišti novou zásadu s názvem Režim striktního hlasování. Doporučujeme, abyste tak učinili, pokud se spoléháte na forky v Azure Repos.

Nastavení úložiště

Další kroky

Poznámka:

Tyto funkce se budou zavádět během následujících dvou až tří týdnů.

Přejděte na stránku Azure DevOps a podívejte se.

Jak poskytnout zpětnou vazbu

Rádi bychom slyšeli, co si o těchto funkcích myslíte. Pomocí nabídky nápovědy můžete nahlásit problém nebo poskytnout návrh.

Udělejte návrh

Můžete také získat rady a své otázky zodpovězené komunitou ve službě Stack Overflow.

Dík

Aaron Hallberg