steps.script目的不明确。它只允许执行内联脚本?实际上,我想使用带有steps.script的文件,而不是内联脚本。
我不能使用CmdLine@2在窗口或Bash@3在linux/Unix上而不是steps.script.
步骤.script的链接:https://learn.microsoft.com/en-us/azure/devops/pipelines/yaml-schema/steps-script?view=azure-管道
的链接CmdLine@2:https://learn.microsoft.com/en-us/azure/devops/pipelines/tasks/utility/command-line?view=azure-devops&tabs=yaml
的链接Bash@3:https://learn.microsoft.com/en-us/azure/devops/pipelines/tasks/utility/bash?view=azure-devops
脚本步骤是YAML:中与平台无关的步骤
脚本步骤在Windows上使用cmd.exe运行脚本,在其他平台上使用Bash运行脚本。
您也可以显式使用pwsh:
、powershell:
或bash:
来显式选择某个脚本类型。这些是各自任务的方便快捷方式,来自PowerShell@2
文档:
PowerShell任务在YAML中还有两个快捷方式:
- powershell: # inline script workingDirectory: # displayName: # failOnStderr: # errorActionPreference: # warningPreference: # informationPreference: # verbosePreference: # debugPreference: # ignoreLASTEXITCODE: # env: # mapping of environment variables to add
- pwsh: # inline script workingDirectory: # displayName: # failOnStderr: # errorActionPreference: # warningPreference: # informationPreference: # verbosePreference: # debugPreference: # ignoreLASTEXITCODE: # env: # mapping of environment variables to add
这两个快捷方式都解析为PowerShell@2任务powershell运行Windows powershell,并且只能在Windows代理上运行。pwsh运行PowerShell Core,它必须安装在代理或容器上。
这同样适用于其他YAML便利快捷方式。
这基本上取决于你选择哪一个,以及你是使用快捷方式还是完整的步骤名称。