ターゲット定義
タスクは、実行コンテキスト (エージェント ホストまたはコンテナー) で実行されます。
この定義を参照する定義: steps.task、 steps.script、 steps.powershell、 steps.pwsh、 steps.bash、 steps.checkout、 steps.download、 steps.downloadBuild、 steps.getPackage、 steps.publish、 steps.reviewApp
実装
実装 | 説明 |
---|---|
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 |制限。
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 では、コンテナーまたはエージェント ホストでのジョブの実行がサポートされています。 以前は、ジョブ全体がこれら 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