我有一个将我的一个项目发布到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'.. 。
Azure DevOps。发布到WebApp时将忽略生成的工件]