Ulepszone zabezpieczenia potoków ze zmiennymi tylko do odczytu
Dzięki tej aktualizacji ulepszamy zabezpieczenia potoków przy użyciu zmiennych tylko do odczytu. Ponadto można teraz definiować zmienne wyjściowe w zadaniach w ramach dowolnego elementu zaczepienia cyklu życia zadania wdrożenia i korzystać z niego w krokach podrzędnych i zadaniach w tym samym etapie.
Zapoznaj się z poniższą listą Funkcji , aby uzyskać szczegółowe informacje.
Funkcje
Ogólne:
Azure Pipelines:
Uwaga
Zainstalowanie platformy .NET 4.6.2 lub nowszej jest wymagane, aby zadanie VSTest działało prawidłowo na agentach kompilacji.
- Zmienne tylko do odczytu
- Obsługa zmiennych wyjściowych w zadaniu wdrażania
- Unikanie wycofywania zmian krytycznych
- Usuwanie starszych obrazów w hostowanych pulach usługi Azure Pipelines
Ogólne
Ograniczanie tworzenia organizacji za pomocą zasad dzierżawy Azure AD
Administratorzy usługi Azure DevOps mogą teraz korzystać z nowych zasad Azure AD. Te zasady umożliwiają ograniczenie tworzenia nowych organizacji usługi Azure DevOps połączonych z usługą Azure Active Directory firmy. Aby dowiedzieć się więcej na temat zasad, zobacz dokumentację tutaj.
Azure Pipelines
Zmienne tylko do odczytu
Zmienne systemowe zostały udokumentowane jako niezmienne, ale w praktyce mogą zostać zastąpione przez zadanie, a podrzędne zadania będą pobierać nową wartość. Dzięki tej aktualizacji zaostrzymy zabezpieczenia wokół zmiennych potoku, aby zmienne systemowe i zmienne czasu kolejki tylko do odczytu. Ponadto można utworzyć zmienną YAML tylko do odczytu, zaznaczając ją w następujący sposób.
variables:
- name: myVar
value: myValue
readonly: true
Obsługa zmiennych wyjściowych w zadaniu wdrażania
Teraz można zdefiniować zmienne wyjściowe w punktach zaczepienia cyklu życia zadania wdrożenia i korzystać z nich w innych krokach podrzędnych i zadaniach w tym samym etapie.
Podczas wykonywania strategii wdrażania można uzyskać dostęp do zmiennych wyjściowych między zadaniami przy użyciu następującej składni.
- W przypadku strategii runOnce :
$[dependencies.<job-name>.outputs['<lifecycle-hookname>.<step-name>.<variable-name>']]
- W przypadku strategii kanaarnej :
$[dependencies.<job-name>.outputs['<lifecycle-hookname>_<increment-value>.<step-name>.<variable-name>']]
- W przypadku strategii stopniowej :
$[dependencies.<job-name>.outputs['<lifecycle-hookname>_<resource-name>.<step-name>.<variable-name>']]
// Set an output variable in a lifecycle hook of a deployment job executing canary strategy
- deployment: A
pool:
vmImage: 'ubuntu-latest'
environment: staging
strategy:
canary:
increments: [10,20] # creates multiple jobs, one for each increment. Output variable can be referenced with this.
deploy:
steps:
- script: echo "##vso[task.setvariable variable=myOutputVar;isOutput=true]this is the deployment variable value"
name: setvarStep
- script: echo $(setvarStep.myOutputVar)
name: echovar
// Map the variable from the job
- job: B
dependsOn: A
pool:
vmImage: 'ubuntu-latest'
variables:
myVarFromDeploymentJob: $[ dependencies.A.outputs['deploy_10.setvarStep.myOutputVar'] ]
steps:
- script: "echo $(myVarFromDeploymentJob)"
name: echovar
Dowiedz się więcej na temat ustawiania zmiennej wyjściowej obejmującej wiele zadań
Unikanie wycofywania zmian krytycznych
W potokach wersji klasycznych często jest polegać na zaplanowanych wdrożeniach w przypadku regularnych aktualizacji. Jeśli jednak masz poprawkę krytyczną, możesz rozpocząć ręczne wdrażanie poza pasmem. W tym celu starsze wersje nadal są zaplanowane. Stanowi to wyzwanie, ponieważ wdrożenie ręczne zostanie wycofane po wznowieniu wdrożeń zgodnie z harmonogramem. Wielu z was zgłosiło ten problem i rozwiązaliśmy go. W przypadku poprawki wszystkie starsze zaplanowane wdrożenia w środowisku zostaną anulowane podczas ręcznego uruchamiania wdrożenia. Ma to zastosowanie tylko wtedy, gdy opcja kolejkowania jest zaznaczona jako "Wdróż najnowsze i anuluj inne".
Usuwanie starszych obrazów w hostowanych pulach usługi Azure Pipelines
23 marca 2020 r. usuniemy następujące obrazy z naszych hostowanych pul usługi Azure Pipelines.
- Windows Server 2012 R2 z programem Visual Studio 2015 (vs2015-win2012r2)
- Mac OS High Sierra 10.13 (macOS-10.13)
- Windows Server Core 1803 (win1803)
Dzięki usunięciu tych obrazów będziemy nadal wdrażać nowsze wersje obrazów wydajniej.
Aby dowiedzieć się więcej na temat usuwania tych obrazów, zapoznaj się z wpisem w blogu dotyczącym usuwania starszych obrazów w usłudze Azure Pipelines hostowanych pul .
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.
Dzięki,
Vijay Machiraju