我是Azure Devops的首次用户,我需要为Azure Repos上托管的mono-repo项目创建CI / CD流程。这是简短的说明
RepoA
LinuxProject
FirmwareProject
TestProject
我有一个自托管的Azure代理(RepoABuild),其中已安装了我要在其上构建这些项目的所有工具。
LinuxProject YAML文件的要求是
在座的任何人都可以帮助我解决这个问题吗?非常感谢您的帮助
答案 0 :(得分:1)
您可以按照以下步骤为LinuxProject创建yaml管道:
1,创建一个Yaml文件并提交到您的Azure库(例如LinuxProject-pipeline.yml)。
2,从azure项目门户创建yaml管道。
登录到Azure DevOps组织并导航到您的项目。
在您的项目中,导航到管道页面。然后选择操作以创建新管道。
首先选择 Azure Repos Git 作为源代码的位置,以逐步完成向导的步骤。
按照向导的步骤进行操作,然后选择现有的Azure Pipelines Yaml文件。然后在提示窗口的第一步中选择文件
LinuxProject-pipeline.yml
。
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)所在的代理池的名称。 (如果代理池中有多个自托管代理,请选中this thread以使用需求)
添加bash任务以运行bash命令
添加ArchiveFiles任务以存档您的构建结果。
您可能需要根据您的项目在yaml文件上进行一些更改。您可以参考以下步骤为其他两个项目创建管道。
请先查看get started document。
Here是关键的管道基本概念。
Here是Yaml模式参考。
Here是可以在管道中直接使用的预定义变量(例如,上述存档文件任务中的$(Build.ArtifactStagingDirectory)指向代理计算机中的c:\agent_work\1\a
)。