Azure Pipelines — Aktualizacja Sprintu 181

Funkcje

Instrukcja „uses” służąca do wstępnego deklarowania zasobów

Gdy potok uruchamia zadanie na agencie, agent otrzymuje token dostępu do wywołania z powrotem do interfejsów API REST usługi Azure Pipelines i pobierania zasobów, takich jak repozytoria. W przypadku potoków YAML niedawno dodaliśmy ustawienie, które ogranicza token tylko do repozytoriów faktycznie używanych w zadaniu. Jednak niektórzy klienci używali repozytoriów bez jawnego użycia checkout kroku, na przykład jeśli użyli kroku skryptu do bezpośredniego wywołania usługi Git. Ci klienci nie mogli włączyć funkcji ograniczania tokenów, ponieważ usługa Azure Pipelines nie mogła dokładnie określić, jakie repozytoria były potrzebne do zadania.

Dzięki tej aktualizacji dodaliśmy alternatywny sposób na zasygnalizowanie Azure Pipelines, że zadanie powinno używać repozytorium, nie korzystając z kroku checkout. Zamiast tego możesz użyć nowego uses słowa kluczowego w następujący sposób:

resources:
  repositories:
  - repository: myrepo
    type: git
    name: MyProject/MyRepo

jobs:
- job: myjob
  uses:
    repositories:
    - myrepo
  steps:
  # without the preceding "uses" statement, if you have the
  # new limit-repositories feature turned on, then Azure Pipelines
  # won't include this repo in the access token and you'll
  # get an access error at runtime (also, in a real pipeline
  # you must include the auth token header as an argument to Git)
  - script: git clone https://dev.azure.com/MyOrg/MyProject/_git/MyRepo

Ta funkcja rozwiązuje również powiązany (choć mniej typowy) problem. Jeśli używasz słowa kluczowego matrix do generowania wielu zadań, a te zadania korzystają z pul określonych w etapie macierzy, możesz napotkać problemy z autoryzacją tych pul dla potoku. Główna przyczyna jest taka sama: ponieważ macierze są obliczane w czasie wykonywania, system autoryzacji zasobów z góry nie może dokładnie określić, które pule zasobów są używane. Za pomocą programu usesmożna zadeklarować pule, których będą używane zadania, aby mogły być autoryzowane z góry.

jobs:
- job: mtrx
  strategy:
    matrix:
      windows:
        mypoolname: Private-Windows
      mac:
        mypoolname: Private-Mac
  pool: $(mypoolname)
  # without the following "uses" statement, "pool" won't see
  # the pool names until it's too late, and you'll get an error
  # at runtime
  uses:
    pools:
    - Private-Windows
    - Private-Mac

Ręczna walidacja potoków YAML

Niedawno wydane zadanie ręcznej weryfikacji umożliwia wstrzymanie potoku YAML na etapie pośrednim. Dzięki temu można wykonywać działania ręczne lub offline, a następnie kontynuować (lub odrzucać) proces. Jest to szczególnie przydatne w scenariuszach, w których chcesz wstrzymać potok i umożliwić koledze weryfikację ustawień konfiguracji, budowy pakietu itp. przed przejściem do długotrwałego zadania wymagającego dużej ilości obliczeń. Dowiedz się więcej.


ręczna walidacja

Dalsze kroki

Uwaga / Notatka

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.