【发布时间】:2020-11-20 14:10:18
【问题描述】:
我有一个 Azure DevOps Pipeline,它从存储库中提取并构建一个 Visual Studio Web 项目。然后将其发布到应用服务。
我有几个不包含在存储库(或 VS 项目)中的敏感配置文件,它们在 Azure DevOps 系统中存储为“安全文件”。
我需要将这些文件包含在要发布的包的“配置/安全”文件夹中(在 zip 文件中)。我可以下载它们,但无论我尝试什么,我都无法将这些文件包含在部署 zip 文件中。它们只出现在“drop”文件系统中,因此我似乎无法将它们部署到 Web App。
有人知道我该怎么做吗?在此先感谢下面的管道 YAML:
trigger:
- main
pool:
vmImage: 'windows-latest'
variables:
solution: '**/*.sln'
buildPlatform: 'Any CPU'
buildConfiguration: 'Release'
steps:
- task: NuGetToolInstaller@1
- task: NuGetCommand@2
inputs:
restoreSolution: '$(solution)'
- task: DownloadSecureFile@1
inputs:
secureFile: 'AppSettings.secret.config'
- task: DownloadSecureFile@1
inputs:
secureFile: 'cache.secret.config'
- task: DownloadSecureFile@1
inputs:
secureFile: 'security.secret.config'
- task: DownloadSecureFile@1
inputs:
secureFile: 'Smtp.secret.config'
- task: CopyFiles@2
inputs:
SourceFolder: '$(Agent.TempDirectory)'
Contents: |
AppSettings.secret.config
cache.secret.config
security.secret.config
Smtp.secret.config
TargetFolder: '$(Build.ArtifactStagingDirectory)/config/secret'
OverWrite: true
flattenFolders: true
- 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: PublishBuildArtifacts@1
inputs:
PathtoPublish: '$(Build.ArtifactStagingDirectory)'
ArtifactName: 'drop'
publishLocation: 'Container'
【问题讨论】:
标签: azure azure-devops azure-pipelines azure-pipelines-release-pipeline