YAML for Azure Pipeline for MonoRepo code on a self-hosted agent

YAML for Azure Pipeline for MonoRepo code on a self-hosted agent

我是 Azure Devops 的新用户,我需要为托管在 Azure Repos 上的单存储库项目创建一个 CI/CD 流程。这是一个简短的描述

RepoA

LinuxProject

FirmwareProject

TestProject

这里的任何人都可以帮助我解决这个要求或指出任何例子吗?非常感谢您的帮助

您可以按照以下步骤为 LinuxProject 创建 yaml 管道:

1,创建一个 yaml 文件并提交到您的 azure 存储库 (eg.LinuxProject-pipeline.yml)。

2,从您的 Azure 项目门户创建一个 yaml 管道。

Sign in to your Azure DevOps organization and navigate to your project.

In your project, navigate to the Pipelines page. Then choose the action to create a new pipeline.

Walk through the steps of the wizard by first selecting Azure Repos Git as the location of your source code.

Walk through the steps of the wizard and Choose Existing Azure Pipelines Yaml file. And select file LinuxProject-pipeline.yml created in the 1st step in the prompted window.

3、将以下内容添加到LinuxProject-pipeline.yml文件中。

trigger:
  paths:
    include:
    - LinuxProject/*

pool: your-self-hosted-agent-pool

steps:

- bash: |
    cd RepoA/LinuxProject
    source opt/lib/linux/settings.sh
    make images

- task: ArchiveFiles@2
  inputs:
    rootFolderOrFile: $(Build.SourcesDirectory)/LinuxProject/Build
    archiveFile: $(Build.ArtifactStagingDirectory)/LinuxProject.zip

在上面的 yaml 文件中,触发器 定义了一个路径过滤器,它使管道仅在文件夹 LinuxProject 中发生更改时被触发。有关 触发器

的更多信息,请参阅 here

,将其值定义为您的自托管代理 (RepoABuild) 所在的代理池的名称。 (如果代理池中有多个自托管代理,请选中 以使用需求)

bash 任务添加到 运行 bash 命令

添加 ArchiveFiles 任务以存档您的构建结果。

您可能需要根据您的项目稍微更改上面的 yaml 文件。您可以参考以下步骤为其他两个项目创建管道。

请先查看 get started document

Here 是关键的流水线基本概念。

Here 是 Yaml 架构参考。

Here 是您可以直接在您的管道中使用的预定义变量(例如上面存档文件任务中的 $(Build.ArtifactStagingDirectory) 是指代理机器中的 foler c:\agent_work\a) .