我正在使用Azure Devops部署Angular 6 + asp.net应用程序。
ng build --prod命令完美地部署到位于angular.json的outputPath中的目标文件夹中
在发布定义(CD)期间,我们需要清除现有outputPath中的所有文件。
因为现有的Web部署已经具有main。{oldhashvalue} .js。
如果我要进行下一个发行版定义,则它将另一个main。{newhashvalue} .js添加到同一outputPath。
这会导致应用程序仍然引用旧main。{oldhashvalue} .js的问题。
那么,如何在版本定义期间在下次部署之前清理旧的outputPath?
这是版本定义的YAML格式
步骤:
任务:AzureRmWebAppDeployment @ 3
displayName:“将Azure App Service部署到插槽”
输入:
azureSubscription:“ azureSubscription-服务端点”
WebAppName:firstwebappname
DeployToSlotFlag:是
ResourceGroupName:firstresourcegroupname
SlotName:dev
包装:“ $(System.DefaultWorkingDirectory)***。zip”
TakeAppOfflineFlag:是
UseWebDeploy:是
RenameFilesFlag:是
我已经尝试启用“在目标位置删除其他文件”选项,但是它清除了始终需要的node_modules文件夹。不想一直安装。
答案 0 :(得分:0)
在构建期间,将输出定向到$(Build.ArtifactStagingDirectory)
。每次运行构建时都会清除该文件夹。