您可以从 azure pipeline build yml 中执行另一个 build yml 吗?
Can you execute another build yml from inside a azure pipeline build yml?
我们想让我们的 azure pipeline build .ymls 模块化。对于完整的应用程序构建,会将不同组件的构建 .yml 包含到一个主 .yml 中,该主 .yml 将它们一起构建。对于单独的组件,我们将只调用单个 .yml 来构建该组件。是否可以从一个构建 .yml 中执行另一个构建 .yml?
看起来我们可以通过 template references 模块化地使用 ymls。
是的,你可以。这是一个如何使用预定义节点模板与内联纱线安装程序混合执行此操作的示例:
- job: Build
steps:
- template: ../Tasks/node.yml
- task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@2
displayName: 'use yarn 1.x'
inputs:
checkLatest: true
- template: ../Tasks/yarn.yml
parameters:
projectDirectory: '$(Build.SourcesDirectory)'
node.yml:
steps:
- task: NodeTool@0
displayName: 'Use Node 10.x'
inputs:
versionSpec: 10.x
yarn.yml:
parameters:
- name: projectDirectory
type: string
- name: arguments
type: string
default: 'install'
steps:
- task: geeklearningio.gl-vsts-tasks-yarn.yarn-task.Yarn@2
displayName: 'yarn ${{ parameters.arguments }} ${{ parameters.projectDirectory }}'
inputs:
ProjectDirectory: '${{ parameters.projectDirectory }}'
Arguments: ${{ parameters.arguments }}
我们想让我们的 azure pipeline build .ymls 模块化。对于完整的应用程序构建,会将不同组件的构建 .yml 包含到一个主 .yml 中,该主 .yml 将它们一起构建。对于单独的组件,我们将只调用单个 .yml 来构建该组件。是否可以从一个构建 .yml 中执行另一个构建 .yml?
看起来我们可以通过 template references 模块化地使用 ymls。
是的,你可以。这是一个如何使用预定义节点模板与内联纱线安装程序混合执行此操作的示例:
- job: Build
steps:
- template: ../Tasks/node.yml
- task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@2
displayName: 'use yarn 1.x'
inputs:
checkLatest: true
- template: ../Tasks/yarn.yml
parameters:
projectDirectory: '$(Build.SourcesDirectory)'
node.yml:
steps:
- task: NodeTool@0
displayName: 'Use Node 10.x'
inputs:
versionSpec: 10.x
yarn.yml:
parameters:
- name: projectDirectory
type: string
- name: arguments
type: string
default: 'install'
steps:
- task: geeklearningio.gl-vsts-tasks-yarn.yarn-task.Yarn@2
displayName: 'yarn ${{ parameters.arguments }} ${{ parameters.projectDirectory }}'
inputs:
ProjectDirectory: '${{ parameters.projectDirectory }}'
Arguments: ${{ parameters.arguments }}