Udostępnij za pośrednictwem


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.

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ę.

Wprowadź sugestię

Możesz również uzyskać porady i pytania, na które odpowiada społeczność w witrynie Stack Overflow.

Dzięki,

Vijay Machiraju