【问题标题】:Unable to Publish the project from Azure DEVOPS无法从 Azure DEVOPS 发布项目
【发布时间】:2020-08-01 19:52:49
【问题描述】:

我是 azure devops 和学习新手,从 azure 创建新的基本帐户。我创建了新项目并且确实需要更改。该项目将代码发布到 azure VM 并在最后一步出错。

步骤:IIS Web 应用部署

错误:未找到具有指定模式的包。检查任务中提到的包是否在构建或上一阶段作为工件发布并在当前作业中下载。

用于发布的 YAML:

steps:
- task: IISWebAppManagementOnMachineGroup@0
  displayName: 'IIS Web App Manage'
  inputs:
    IISDeploymentType: '$(Parameters.IISDeploymentType)'
    ActionIISWebsite: '$(Parameters.ActionIISWebsite)'
    WebsiteName: '$(Parameters.WebsiteName)'
    WebsitePhysicalPath: '%SystemDrive%\inetpub\wwwroot\DD'
    AddBinding: '$(Parameters.AddBinding)'
    Bindings: '$(Parameters.Bindings)'
    CreateOrUpdateAppPoolForWebsite: true
    AppPoolNameForWebsite: DD
    ParentWebsiteNameForVD: '$(Parameters.WebsiteName)'
    VirtualPathForVD: '$(Parameters.VirtualPathForApplication)'
    ParentWebsiteNameForApplication: '$(Parameters.WebsiteName)'
    VirtualPathForApplication: '$(Parameters.VirtualPathForApplication)'
    AppPoolName: '$(Parameters.AppPoolName)
    steps:
- task: IISWebAppDeploymentOnMachineGroup@0
  displayName: 'IIS Web App Deploy'
  inputs:
    WebSiteName: '$(Parameters.WebsiteName)'
    Package: '$(System.DefaultWorkingDirectory)/_ABC.API/drop/*.zip'
    RemoveAdditionalFilesFlag: true
    TakeAppOfflineFlag: true
    XmlVariableSubstitution: True

构建 YAML:

trigger:
- master

pool:
  vmImage: 'windows-latest'



variables:
  solution: '**/*.sln'
  buildPlatform: 'Any CPU'
  buildConfiguration: 'Release'

steps:
- task: NuGetToolInstaller@1

- task: NuGetCommand@2
  inputs:
    restoreSolution: '$(solution)'

- task: VSBuild@1
  inputs:
    solution: '$(solution)'
    msbuildArgs: '/p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:PackageLocation="$(build.artifactStagingDirectory)"'
    platform: '$(buildPlatform)'
    configuration: '$(buildConfiguration)'

- task: VSTest@2
  inputs:
    platform: '$(buildPlatform)'
    configuration: '$(buildConfiguration)'

- task: CopyFiles@2
  inputs:
    SourceFolder: '$(agent.builddirectory)'
    Contents: |
      |
           **\*.runsettings
           **\*FunctionalTest*\**\bin\$(BuildConfiguration)\**
    TargetFolder: '''$(build.artifactstagingdirectory)\FunctionalTests'''


- task: PublishBuildArtifacts@1
  inputs:
    artifactName: 'drop'
    pathToPublish: '$(build.artifactStagingDirectory)'

错误日志:

2020-04-19T10:02:47.0130907Z ##[section]Starting: IIS Web App Deploy
2020-04-19T10:02:47.0236460Z ==============================================================================
2020-04-19T10:02:47.0236816Z Task         : IIS web app deploy
2020-04-19T10:02:47.0237124Z Description  : Deploy a website or web application using Web Deploy
2020-04-19T10:02:47.0237414Z Version      : 0.156.9
2020-04-19T10:02:47.0237649Z Author       : Microsoft Corporation
2020-04-19T10:02:47.0238051Z Help         : https://docs.microsoft.com/azure/devops/pipelines/tasks/deploy/iis-web-app-deployment-on-machine-group
2020-04-19T10:02:47.0238500Z ==============================================================================
2020-04-19T10:02:47.8446908Z ##[error]Error: No package found with specified pattern.<br/>Check if the package mentioned in the task is published as an artifact in the build or a previous stage and downloaded in the current job.
2020-04-19T10:02:47.8471615Z ##[section]Finishing: IIS Web App Deploy

请帮忙找出问题

【问题讨论】:

  • 无法获取您的最新信息,该解决方法对您有帮助吗?或者,如果您有任何疑问,请随时在此处分享。

标签: azure azure-devops azure-pipelines


【解决方案1】:

尝试将Package 部分更改为使用pathToPublish 的路径,默认情况下它是System.DefaultWorkingDirectory

- task: PublishBuildArtifacts@1
  inputs:
    artifactName: 'drop'
    pathToPublish: '$(build.artifactStagingDirectory)'

IISWebAppDeploymentOnMachineGroup 任务变更:

- task: IISWebAppDeploymentOnMachineGroup@0
  displayName: 'IIS Web App Deploy'
  inputs:
    WebSiteName: '$(Parameters.WebsiteName)'
    Package: '$(build.artifactStagingDirectory)/*.zip'
    RemoveAdditionalFilesFlag: true
    TakeAppOfflineFlag: true
    XmlVariableSubstitution: True

Build.ArtifactStagingDirectory

代理上的本地路径,任何工件在被推送到目的地之前都会复制到该路径。例如:c:\agent_work\1\a

System.DefaultWorkingDirectory:

下载源代码文件的代理上的本地路径。例如:c:\agent_work\1\s

对此,请参考predefined variables

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-12-31
    • 1970-01-01
    • 2020-01-18
    • 1970-01-01
    • 1970-01-01
    • 2021-08-01
    • 1970-01-01
    相关资源
    最近更新 更多