共用方式為


使用唯讀變數改善管線安全性

透過此更新,我們會使用唯讀變數來改善管線安全性。 此外,您現在可以在部署作業的任何生命週期勾點內的工作中定義輸出變數,並在相同階段內的下游步驟和作業中使用它。

如需詳細資訊,請參閱下面的 功能 清單。

功能

一般:

Azure Pipelines:

注意

需要安裝 .NET 4.6.2 或更高版本,VSTest 工作才能在組建代理程式上正常運作。

一般

透過 Azure AD 租使用者原則限制組織建立

Azure DevOps 系統管理員現在可以利用新的 Azure AD 原則。 此原則可讓您限制建立連線至公司 Azure Active Directory 的新 Azure DevOps 組織。 若要深入瞭解原則,請參閱 這裡的檔。

Azure Pipelines

唯讀變數

系統變數記載為不可變,但實際上,工作可能會覆寫它們,下游工作會挑選新的值。 透過此更新,我們會加強管線變數的安全性,讓系統和佇列時間變數變成隻讀。 此外,您可以將 YAML 變數標示為唯讀,如下所示。

variables:
- name: myVar
  value: myValue
  readonly: true

支援部署作業中的輸出變數

您現在可以在部署作業的 生命週期勾點 中定義輸出變數,並在相同階段內的其他下游步驟和作業中使用這些變數。

在執行部署策略時,您可以使用下列語法,跨作業存取輸出變數。

  • 針對 runOnce 策略: $[dependencies.<job-name>.outputs['<lifecycle-hookname>.<step-name>.<variable-name>']]
  • 針對 Canary 策略: $[dependencies.<job-name>.outputs['<lifecycle-hookname>_<increment-value>.<step-name>.<variable-name>']]
  • 針對 滾動 策略: $[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

深入瞭解如何 設定多作業輸出變數

避免復原重大變更

在傳統發行管線中,通常會依賴排程的部署來進行定期更新。 但是,當您有重大修正時,您可以選擇啟動頻外手動部署。 這樣做時,較舊的版本會繼續排程。 這會造成挑戰,因為根據排程繼續部署時,會回復手動部署。 許多您回報此問題,我們現在已修正此問題。 透過修正,當您手動啟動部署時,會取消環境的所有舊版排程部署。 只有在選取佇列選項為 [部署最新並取消其他人] 時才適用。

移除 Azure Pipelines 裝載集區中的較舊映射

在 2020 年 3 月 23 日,我們將從 Azure Pipelines 裝載的集區中移除下列映射。

  • Windows Server 2012 R2 with Visual Studio 2015 (vs2015-win2012r2)
  • mac OS High Sierra 10.13 (macOS-10.13)
  • Windows Server Core 1803 (win1803)

藉由移除這些映射,我們會繼續更有效率地推出較新的映射版本。

若要深入瞭解如何移除這些映射,請參閱移除 Azure Pipelines 託管集區中較舊的映射 部落格文章。

後續步驟

注意

這些功能將在接下來兩到三周推出。

請前往 Azure DevOps 並查看。

如何提供意見反應

我們很樂於聽到您對這些功能的想法。 使用說明功能表來回報問題或提供建議。

提供建議

您也可以在 Stack Overflow上取得社群所回答的建議和您的問題。

感謝您!

Vijay Machiraju