Azure DevOps。发布到WebApp时将忽略生成的工件]]

问题描述 投票:0回答:1

我有一个将我的一个项目发布到WebApps中的管道:

variables:
  solution: 'solution.sln'
  project: '$(agent.builddirectory)\s\project\project.csproj'
  buildPlatform: 'Any CPU'
  buildConfiguration: 'Release'

stages:
- stage: project
  jobs:
  - job: project
    pool:
      vmImage: 'windows-latest'
    steps:
    - task: NuGetToolInstaller@1

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

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

    - task: CopyFiles@2
      inputs:
        SourceFolder: '$(agent.builddirectory)\s\project\obj\Any CPU\Release\'
        Contents: '**'
        TargetFolder: '$(build.ArtifactStagingDirectory)\project'

    - task: PublishBuildArtifacts@1
      inputs:
        PathtoPublish: '$(build.ArtifactStagingDirectory)\project'

    - task: AzureRmWebAppDeployment@4
      inputs:
        ConnectionType: 'AzureRM'
        azureSubscription: 'subscription'
        appType: 'webApp'
        WebAppName: '$(namingPrefixSTG)-project'
        packageForLinux: '$(build.ArtifactStagingDirectory)\project.zip'

但是,当我尝试在文件发布之前对其进行编辑时,我的WebApp会接收到的内容不是原始项目而是原始项目。换句话说,尽管人工制品具有正确的文件,但我的人工制品被忽略,并且WebApp仍会接收到我已排除的文件,而不会接收到我包含的文件。

variables:
  solution: 'solution.sln'
  project: '$(agent.builddirectory)\s\project\project.csproj'
  buildPlatform: 'Any CPU'
  buildConfiguration: 'Release'

stages:
- stage: project
  jobs:
  - job: project
    pool:
      vmImage: 'windows-latest'
    steps:
    - task: VSBuild@1
      inputs:
        solution: '$(project)'
        msbuildArgs: '/p:OutputPath="$(build.binariesDirectory)\project\bin" /p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:PackageLocation="$(build.artifactStagingDirectory)"'
        platform: '$(buildPlatform)'
        configuration: '$(buildConfiguration)'

    - task: CopyFiles@2
      inputs:
        SourceFolder: '$(agent.builddirectory)\s\project\obj\Any CPU\Release\'
        Contents: |
          **
          !$(agent.builddirectory)\s\project\obj\Any CPU\Release\Package\PackageTmp\excludeThisFolder\**
          !$(agent.builddirectory)\s\project\obj\Any CPU\Release\Package\PackageTmp\excludeThisFolder2\**
          !$(agent.builddirectory)\s\project\obj\Any CPU\Release\Package\PackageTmp\excludeThisFile.html
        TargetFolder: '$(build.ArtifactStagingDirectory)\project'

    - task: CopyFiles@2
      inputs:
        SourceFolder: '$(agent.builddirectory)\s\project\Deploy'
        Contents: |
          includeThisFolder/**
          includeThisFolder/**
          includeThisFile.html
        TargetFolder: '$(build.ArtifactStagingDirectory)\project\Package\PackageTmp\'

    - task: PublishBuildArtifacts@1
      inputs:
        PathtoPublish: '$(build.ArtifactStagingDirectory)\project'

    - task: AzureRmWebAppDeployment@4
      inputs:
        ConnectionType: 'AzureRM'
        azureSubscription: 'Subscription'
        appType: 'webApp'
        WebAppName: '$(namingPrefixSTG)-project'
        packageForLinux: '$(build.ArtifactStagingDirectory)\project.zip'

我有一个管道将我的一个项目发布到WebApps:变量:解决方案:'solution.sln'项目:'$(agent.builddirectory)\ s \ project \ project.csproj'buildPlatform:'Any CPU'.. 。

msbuild azure-devops azure-pipelines webdeploy
1个回答
0
投票

Azure DevOps。发布到WebApp时将忽略生成的工件]

© www.soinside.com 2019 - 2024. All rights reserved.