ターゲット定義

タスクは、実行コンテキスト (エージェント ホストまたはコンテナー) で実行されます。

実装

実装 説明
target: string このステップまたはタスクを実行する環境。
target: container, commands, settableVariables 環境を使用してステップ ターゲットを構成し、コマンドと変数の許可リストを構成します。
実装 説明
target: string このステップまたはタスクを実行する環境。
target: container, commands 環境と許可されるコマンドの一覧を使用してステップ ターゲットを構成します。

注釈

個々のステップでは、 を指定してコンテキストを targetオーバーライドし、必要に応じてコンテナー、コマンド、および設定可能な変数を構成できます。

target: string

ステップ ターゲットを名前で指定します。

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

target 文字列。

使用可能なオプションは、エージェント ホストとパイプラインで定義されているコンテナーをターゲットにする単語 host です。

target: 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、 の commands 既定値は であり any、 の settableVariables 既定値では、すべての変数をステップで設定できます。

ステップ のターゲット設定とコマンドの分離

Azure Pipelines では、コンテナーまたはエージェント ホストでのジョブの実行がサポートされています。 以前は、ジョブ全体がこれら 2 つのターゲットのいずれかに設定されていました。 これで、選択したターゲットで個々のステップ (タスクまたはスクリプト) を実行できるようになりました。 ステップは他のコンテナーをターゲットにすることもできます。そのため、パイプラインは専用の専用コンテナーで各ステップを実行できます。

注意

この機能はパブリック プレビュー段階にあります。 この機能に関するフィードバックや質問がある場合は、Developer Communityでお知らせください。

コンテナーは分離境界として機能し、コードがホスト コンピューターで予期しない変更を行うのを防ぐことができます。 ステップがエージェントと通信してサービスにアクセスする方法は、コンテナー内のステップを分離しても影響を受けません。 そのため、ステップ ターゲットで使用できるコマンド制限モードも導入されています。 を にrestricted設定commandsすると、ステップでエージェントに要求できるサービスが制限されます。 ログのアタッチ、成果物のアップロード、およびその他の特定の操作はできなくなります。

次の例は、ジョブ コンテナー内のホストと別のコンテナーでの実行手順を示しています。

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

こちらもご覧ください