目標定義
工作會在執行內容中執行,也就是代理程式主機或容器。
參考此定義的定義: steps.task、 steps.script、 steps.powershell、 steps.pwsh、 steps.bash、 steps.checkout、 steps.download、 steps.download、steps.downloadBuild、 steps.getPackage、 steps.publish、 steps.reviewApp
實作
實作 | 描述 |
---|---|
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 |限制。
settableVariables
target.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
預設值為 host
, commands
預設值為 any
,而的預設值 settableVariables
則允許步驟設定所有變數。
步驟目標與命令隔離
Azure Pipelines 支援在容器或代理程式主機上執行作業。 先前,整個作業已設定為這兩個目標的其中一個。 現在,個別步驟 (工作或腳本) 可以在您選擇的目標上執行。 步驟也可能以其他容器為目標,因此管線可以在特製化、用途建置的容器中執行每個步驟。
注意
這項功能處於公開預覽狀態。 如果您有有關此功能的任何意見反應或問題,請在 開發人員社群 中告訴我們。
容器可以做為隔離界限,以防止程式代碼在主計算機上進行非預期的變更。 步驟 與代理程式通訊和存取服務 的方式,不會受到容器中隔離步驟的影響。 因此,我們也引進了命令限制模式,您可以搭配步驟目標使用。 將設定 commands
為 restricted
會限制步驟可從代理程式要求的服務。 它將不再能夠附加記錄、上傳成品,以及某些其他作業。
範例
下列範例示範在作業容器的主機上,在另一個容器中執行步驟。
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