繁体   English   中英

Azure CI/CD:本地部署失败

[英]Azure CI/CD: On-Premise deployment failing

我正在尝试将我的代码从 Azure 部署到我的本地计算机。 我遵循的步骤:

  1. 创建部署组
  2. 在我的机器上运行注册脚本(在 C:\azagent 中成功创建的文件夹)
  3. 创建了管道。

对于管道,生成的 YAML 是:

# ASP.NET
# Build and test ASP.NET projects.
# Add steps that publish symbols, save build artifacts, deploy, and more:
# https://docs.microsoft.com/azure/devops/pipelines/apps/aspnet/build-aspnet-4

trigger:
- master

pool:
  vmImage: 'windows-latest'

variables:
  solution: '**/*.sln'
  buildPlatform: 'Any CPU'
  buildConfiguration: 'Release'
  
steps:
- task: NuGetCommand@2
  inputs:
    command: 'restore'
    restoreSolution: '**/*.sln'
    feedsToUse: 'select'
    vstsFeed: 'a31f9237-4431-41f2-b1a9-4370c7dc4828/a3a86133-79b3-437a-bc19-9665a420de4e'
- task: VSBuild@1
  inputs:
    solution: '**\*.sln'
    msbuildArgs: '/p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:PackageLocation="$(build.artifactStagingDirectory)"'
    platform: '$(buildPlatform)'
    configuration: '$(buildConfiguration)'
    restoreNugetPackages: true

- task: CopyFiles@2
  inputs:
    SourceFolder: '$(build.sourcesdirectory)'
    Contents: '**\bin\$(BuildConfiguration)\**'
    TargetFolder: '$(build.artifactstagingdirectory)'
    CleanTargetFolder: true
    OverWrite: true
    
- task: PublishBuildArtifacts@1
  inputs:
    PathtoPublish: '$(Build.ArtifactStagingDirectory)'
    ArtifactName: 'drop'
    publishLocation: 'Container'

当我运行管道时,它没有给出任何错误,但在发布部分我得到一个错误: 错误

我使用的解决方案有多个项目。 我需要在我的机器上部署三个项目。 这是我第一次使用 Azure DevOps,我对错误没有任何线索。 在线文章大多是关于云部署的解释,我找不到太多关于内部部署的文章。 简而言之,每当我将任何更改推送到主分支时,我的要求是从我的仓库中部署三个项目到我的本地机器上。 是否有任何分步指南来实现相同的目标? 我在设置中错过了什么步骤? 任何帮助深表感谢。

根据报错信息的描述,首先需要检查是否选择了对应的构建管道作为发布神器源。

在此处输入图像描述

然后您可以检查下载工件路径是否与IIS web应用部署任务的包( Package or Folder )的文件路径一致。

在此处输入图像描述

System.DefaultWorkingDirectory :在发布部署期间将工件下载到的目录。 如果需要将工件下载到代理,则在每次部署之前都会清除该目录。 与 Agent.ReleaseDirectory 和 System.ArtifactsDirectory 相同。 示例: C:\agent\_work\r1\a

详情请参考预定义变量文档。

我的要求是每当我将任何更改推送到主分支时,从我的存储库中部署三个项目到我的本地机器上。是否有任何分步指南来实现相同的目标?

为此,在 yaml 构建管道中,您需要设置CI 触发器:只要您将更新推送到指定分支,持续集成 (CI) 触发器就会导致管道运行。

在发布管道中,您需要将构建管道设置为发布工件源,然后启用持续部署触发器:这会指示 Azure 管道在检测到新工件可用时自动创建新版本。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM