目标定义
任务在执行上下文中运行,所谓的执行上下文是指代理主机或容器。
引用此定义的定义: steps.task、 steps.script、 steps.powershell、 steps.pwsh、 steps.bash、 steps.checkout、 steps.download、 steps.downloadBuild、 steps.getPackage、 steps.publish、 steps.reviewApp
实现形式
实现 | 描述 |
---|---|
target: string | 要在其中运行此步骤或任务的环境。 |
目标:container, commands, settableVariables | 使用环境以及允许的命令和变量列表配置步骤目标。 |
实现 | 描述 |
---|---|
target: string | 要在其中运行此步骤或任务的环境。 |
target: container, commands | 使用环境和允许的命令列表配置步骤目标。 |
注解
单个步骤可以通过指定 target
来替代其上下文,并根据需要配置容器、命令和可设置的变量。
target: string
按名称指定步骤目标。
target: string # Environment in which to run this step or task.
target
字符串。
可用选项是 host
,以代理主机以及管道中定义的任何容器为目标。
目标:container, commands, 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, commands
使用环境和允许的命令列表配置步骤目标。
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