共用方式為


目標定義

工作會在執行內容中執行,也就是代理程式主機或容器。

實作

實作 描述
target:string 執行此步驟或工作的環境。
目標:容器、命令、settableVariables 使用環境設定步驟目標,以及允許的命令和變數清單。
實作 描述
target:string 執行此步驟或工作的環境。
目標:容器、命令 使用環境和允許的命令清單設定步驟目標。

備註

個別步驟可以藉由指定 target來覆寫其內容,並選擇性地設定容器、命令和可設定變數。

target:string

依名稱指定步驟目標。

target: string # Environment in which to run this step or task.

target 字串。

可用的選項是以代理程式主機為目標以及管線中定義之任何容器的字 host 組。

目標:容器、命令、settableVariables

使用容器名稱、命令和可設定變數來設定步驟目標。

target:
  container: string # Container to target (or 'host' for host machine).
  commands: string # Set of allowed logging commands ('any' or 'restricted').
  settableVariables: none | [ string ] # Restrictions on which variables that can be set.

屬性

container 字串。
以主電腦) (或「主機」為目標的容器。

commands 字串。
允許的記錄命令集 ('any' 或 'restricted') 。 any |限制。

settableVariablestarget.settableVariables
可設定之變數的限制。

目標:容器、命令

使用環境和允許的命令清單設定步驟目標。

target:
  container: string # Container to target (or 'host' for host machine).
  commands: string # Set of allowed logging commands ('any' or 'restricted').

屬性

container 字串。
以主電腦) (或「主機」為目標的容器。

commands 字串。
允許的記錄命令集 ('any' 或 'restricted') 。 any |限制。

備註

設定步驟目標時,您不需要設定所有這些屬性。 如果未指定,則的 container 預設值為 hostcommands 預設值為 any,而的預設值 settableVariables 則允許步驟設定所有變數。

步驟目標與命令隔離

Azure Pipelines 支援在容器或代理程式主機上執行作業。 先前,整個作業已設定為這兩個目標的其中一個。 現在,個別步驟 (工作或腳本) 可以在您選擇的目標上執行。 步驟也可能以其他容器為目標,因此管線可以在特製化、用途建置的容器中執行每個步驟。

注意

這項功能處於公開預覽狀態。 如果您有有關此功能的任何意見反應或問題,請在 開發人員社群 中告訴我們。

容器可以做為隔離界限,以防止程式代碼在主計算機上進行非預期的變更。 步驟 與代理程式通訊和存取服務 的方式,不會受到容器中隔離步驟的影響。 因此,我們也引進了命令限制模式,您可以搭配步驟目標使用。 將設定 commandsrestricted 會限制步驟可從代理程式要求的服務。 它將不再能夠附加記錄、上傳成品,以及某些其他作業。

範例

下列範例示範在作業容器的主機上,在另一個容器中執行步驟。

resources:
  containers:
  - container: python
    image: python:3.8
  - container: node
    image: node:13.2

jobs:
- job: example
  container: python

  steps:
  - script: echo Running in the job container

  - script: echo Running on the host
    target: host

  - script: echo Running in another container, in restricted commands mode
    target:
      container: node
      commands: restricted

另請參閱