目标定义

任务在执行上下文中运行,所谓的执行上下文是指代理主机或容器。

实现形式

实现 描述
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 |限制。

settableVariablestarget.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,的默认值 commandsany,而 的 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

另请参阅