求助:无池环境下编写YML复制ASP.NET MVC构建产物至Azure Agent虚拟机
ASP.NET MVC构建制品复制到Azure Agent本地目录的YAML配置示例
首先明确:Azure Pipelines的YAML配置必须关联代理池,但你可以直接使用微软官方托管的代理池(无需自行创建)。以下是满足你需求的单个YAML文件配置,无需多阶段(stages),仅用单个任务组完成构建与复制:
trigger: none # 可根据需求修改,比如改为branches: include: [main]实现分支提交触发 jobs: - job: CopyBuildArtifacts pool: vmImage: 'windows-latest' # 使用微软托管的Windows代理池,无需自建 steps: # 安装NuGet工具(按需保留,若项目已配置可省略) - task: NuGetToolInstaller@1 displayName: '安装NuGet工具' # 还原项目依赖包 - task: NuGetCommand@2 displayName: '还原NuGet依赖' inputs: restoreSolution: '**/*.sln' # 指向你的解决方案文件路径 # 构建ASP.NET MVC项目并生成制品 - task: VSBuild@1 displayName: '构建项目生成制品' inputs: solution: '**/*.sln' msbuildArgs: '/p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:PackageLocation="$(build.artifactstagingdirectory)"' platform: 'Any CPU' configuration: 'Release' # 将构建制品复制到目标目录 - task: CopyFiles@2 displayName: '复制制品到c:/samplefolder' inputs: SourceFolder: '$(build.artifactstagingdirectory)' # 内置变量,指向构建生成的临时制品目录 Contents: '**' # 复制所有文件及子目录 TargetFolder: 'c:/samplefolder' CleanTargetFolder: true # 可选:复制前清空目标目录
关键说明:
- 若你已提前完成项目构建,仅需复制现有制品,可删除前三个任务(NuGet工具安装、依赖还原、项目构建),将
SourceFolder改为你的制品实际存放路径即可。 - 若使用的是自托管Azure Agent(运行在你自己的虚拟机上),只需将
pool部分改为你的自托管代理池名称,示例:pool: name: '你的自托管代理池名称'
内容的提问来源于stack exchange,提问作者guidempty
相关产品推荐
相关产品推荐

