Azure Pipelines — aktualizacja przebiegu 194
Funkcje
- Publikowanie stanu neutralnego w usłudze GitHub po pomijaniu kompilacji
- Dostęp do wszystkich potoków jest domyślnie wyłączony w chronionych zasobach
- Wstrzykiwanie zadania przed określonymi zadaniami docelowymi lub po nim przy użyciu dekoratora
- Ogłoszenie harmonogramu wycofania obrazów hostowanych w systemie Windows 2016
- Ogłoszenie wycofania hostowanych obrazów z systemem macOS 10.14
Publikowanie stanu neutralnego w usłudze GitHub po pomijaniu kompilacji
Za pomocą usługi Azure Pipelines zawsze można zweryfikować żądanie ściągnięcia w usłudze GitHub. Możesz również określić ścieżki w repozytorium GitHub, które powinny wyzwolić potok. Na przykład następujący potok jest wyzwalany, gdy zmiana zostanie wypchnięta do code
main
gałęzi, ale nie zostanie wyzwolona, gdy zmiana zostanie wypchnięta do docs
folderu.
trigger: none
pr:
branches:
include:
- main
paths:
include:
- code
exclude:
- docs
pool:
vmImage: ubuntu-latest
steps:
- script: echo Hello, world!
displayName: 'Run a one-line script'
Po zakończeniu potoku usługa Azure Pipelines opublikuje stan z powrotem w usłudze GitHub. Jeśli w repozytorium GitHub obowiązują zasady ochrony gałęzi, stan opublikowany przez usługę Azure Pipelines ustalił, czy żądanie ściągnięcia zostanie scalone.
W powyższym przykładzie w przypadku wprowadzenia zmiany w docs
usłudze GitHub obecnie blokuje żądanie ściągnięcia oczekujące na zwrócenie stanu przez usługę Azure Pipelines. Jednak usługa Azure Pipelines nie uruchamia kompilacji weryfikacji, ponieważ ta ścieżka jest wykluczona z wyzwalacza, co uniemożliwia ukończenie żądania ściągnięcia. Klienci konfigurujący wyzwalacze wykluczania ścieżki lub wiele potoków dla pojedynczego repozytorium GitHub często napotykają to wyzwanie.
W przyszłości usługa Azure Pipelines opublikuje neutral
stan z powrotem do usługi GitHub, gdy zdecyduje się nie uruchomić kompilacji weryfikacji z powodu reguły wykluczania ścieżki. Zapewni to jasny kierunek dla usługi GitHub wskazujący, że usługa Azure Pipelines zakończyła przetwarzanie.
Widok konwersacji:
Sprawdź szczegóły:
Dostęp do wszystkich potoków jest domyślnie wyłączony w chronionych zasobach
Potok YAML może polegać na co najmniej jednym chronionym zasobie. Połączenia usług, pule agentów, grupy zmiennych, bezpieczne pliki i repozytoria są przykładami chronionych zasobów, ponieważ administrator takiego zasobu może kontrolować, które potoki mają dostęp do tego zasobu. Administratorzy używają panelu ustawień zabezpieczeń zasobu, aby włączyć lub wyłączyć potoki.
Podczas tworzenia jednego z tych zasobów środowisko domyślne udziela dostępu do wszystkich potoków, chyba że jawnie wyłączysz je. W przyszłości, aby poprawić ogólny stan zabezpieczeń, wartość domyślna jest ustawiana na odmawianie dostępu do wszystkich potoków. Aby udzielić dostępu do wszystkich potoków, wystarczy włączyć przełącznik w środowisku tworzenia lub po utworzeniu zasobu.
Wstrzykiwanie zadania przed określonymi zadaniami docelowymi lub po nim przy użyciu dekoratora
Dekoratory to sposób automatycznego wstrzykiwania zadań do potoku. Są one często używane przez centralne zespoły w organizacji do automatycznego uruchamiania wymaganych procedur zgodności. Dekoratory mogą być używane z klasycznymi kompilacjami, wersjami klasycznymi lub potokami YAML.
Obecnie zadanie można wstrzyknąć za pomocą dekoratora na początku każdego zadania, na końcu każdego zadania lub bezpośrednio po zadaniu wyewidencjonowania. Aby to kontrolować, należy określić element target
w sekcji współtworzenia rozszerzenia dekoratora zgodnie z opisem w tym miejscu. Teraz rozwijamy listę celów, które mają obejmować następujące elementy:
ms.azure-pipelines-agent-job.pre-task-tasks
ms.azure-pipelines-agent-job.post-task-tasks
ms.azure-release-pipelines-agent-job.pre-task-tasks
ms.azure-release-pipelines-agent-job.post-task-tasks
Oto przykład dekoratora, który wprowadza zadanie przed każdym wystąpieniem PublishPipelineArtifacts
zadania do potoku.
{
"manifestVersion": 1,
"contributions": [
{
"id": "my-required-task",
"type": "ms.azure-pipelines.pipeline-decorator",
"targets": [
"ms.azure-pipelines-agent-job.pre-task-tasks"
],
"properties": {
"template": "my-decorator.yml",
"targettask": "ECDC45F6-832D-4AD9-B52B-EE49E94659BE"
}
}
],
"files": [
{
"path": "my-decorator.yml",
"addressable": true,
"contentType": "text/plain"
}
]
}
Ogłoszenie harmonogramu wycofania obrazów hostowanych w systemie Windows 2016
Niedawno udostępniliśmy system Windows 2022 jako obraz hostowany. Wraz z nadchodzącym zakończeniem wsparcia podstawowego dla systemu Windows 2016 w styczniu 2022 r., od 15 listopada przestarzałe vs2017-win2016
obrazy. Kompletna emerytura tego obrazu jest planowana na marzec 2022 r. Ponieważ jest to często używany obraz, chcieliśmy przekazać wystarczająco dużo czasu na wprowadzenie niezbędnych zmian w potokach.
Zapoznaj się z naszym wpisem w blogu , w którym opisano sposób znajdowania wszystkich projektów i potoków przy użyciu obrazu hostowanego w systemie Windows 2016, oraz czynności, które można wykonać w celu przeprowadzenia migracji do nowszych wersji.
Ogłoszenie wycofania hostowanych obrazów z systemem macOS 10.14
Niedawno udostępniliśmy system macOS-11 jako obraz hostowany. W związku z tym w grudniu 2021 r. zostanie wycofany obraz z systemem macOS-10.14. Kompilacje, które opierają się na tym obrazie, zakończy się niepowodzeniem po jego wycofaniu. Więcej szczegółów na temat wycofywania różnych obrazów można znaleźć w naszym wpisie w blogu.
Następne kroki
Uwaga
Te funkcje zostaną wdrożone 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ę.
Możesz również uzyskać porady i pytania, na które odpowiada społeczność w witrynie Stack Overflow.