ターゲット定義
タスクは実行コンテキスト (エージェント ホストまたはコンテナー) で実行されます。
この定義を参照する定義: steps.task、steps.script、steps.powershell、steps.pwsh、steps.bash、steps.checkout, steps.download, steps.downloadBuild, steps.getPackage, steps.publish, steps.reviewApp
実装
実装 | 説明 |
---|---|
ターゲット: 文字列 | このステップまたはタスクを実行する環境。 |
ターゲット: コンテナー、コマンド、settableVariables | 環境を使用してステップ ターゲットを構成し、コマンドと変数の許可リストを構成します。 |
実装 | 説明 |
---|---|
ターゲット: 文字列 | このステップまたはタスクを実行する環境。 |
ターゲット: コンテナー、コマンド | 環境と許可されるコマンドの一覧を使用して、ステップ ターゲットを構成します。 |
注釈
個々のステップでは、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: any | restricted # Set of allowed logging commands ('any' or 'restricted').
settableVariables: none | [ string ] # Restrictions on which variables that can be set.
特性
container
文字列。
ターゲットにするコンテナーを します (ホスト コンピューターの場合は "host" です)。
commands
文字列。
許可されるログ コマンドのセット ('any' または 'restricted')。 any |制限。
target.settableVariablesを settableVariables
します。
設定できる変数に関する制限事項です。
target: container, commands
環境と許可されるコマンドの一覧を使用して、ステップ ターゲットを構成します。
target:
container: string # Container to target (or 'host' for host machine).
commands: any | restricted # Set of allowed logging commands ('any' or 'restricted').
特性
container
文字列。
ターゲットにするコンテナーを します (ホスト コンピューターの場合は "host" です)。
commands
文字列。
許可されるログ コマンドのセット ('any' または 'restricted')。 any |制限。
注釈
ステップ ターゲットを構成するときに、これらのプロパティをすべて構成する必要はありません。 指定しない場合、container
の既定値は host
、commands
の既定値は any
、settableVariables
の既定値では、すべての変数をステップで設定できます。
ステップのターゲット設定とコマンドの分離
Azure Pipelines では、コンテナーまたはエージェント ホストでジョブを実行できます。 以前は、ジョブ全体がこれら 2 つのターゲットのいずれかに設定されていました。 これで、選択したターゲットで個々のステップ (タスクまたはスクリプト) を実行できるようになりました。 また、ステップは他のコンテナーを対象とするため、パイプラインは専用の専用コンテナーで各ステップを実行できます。
注
この機能はパブリック プレビュー段階にあります。 この機能に関するフィードバックや質問がある場合は、開発者コミュニティのでお知らせください。
コンテナーは分離境界として機能し、コードがホスト コンピューターで予期しない変更を行うことを防ぐことができます。 エージェント と通信 手順とサービスにアクセスする方法は、コンテナー内のステップを分離しても影響を受けません。 そのため、ステップ ターゲットで使用できるコマンド制限モードも導入されています。
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