在VSTS构建和发布中排除/跳过文件

blu*_*522 1 azure-devops azure-pipelines azure-pipelines-release-pipeline

我们正在为VSTS CI / CD创建体系结构,以将我们的Web应用程序部署到我们的Azure App Services。我们想在将web.config部署到Azure服务器时排除它,因为我们直接在其他环境上修改了web.config。CI任务如下所示: CI Taks

CD任务:部署Azure App Service我知道其他更新web.config https://docs.microsoft.com/zh-cn/vsts/build-release/tasks/transforms-variable-substitution的方法,但是在我们的在这种情况下,我们想跳过web.config文件。如该线程所述,我找不到在VSTS中发行期间跳过文件的选项,该 如何从vs-team-services CI构建中排除工件中的.cs文件? 在构建和部署发行版时,是否可以排除某些文件?

Mar*_*Liu 8

您可以web.config构建定义中排除发布前工件:将 Web 包文件复制到一个目录(例如$(build.binariesdirectory)),然后将排除文件复制web.config到另一个文件夹(例如$(Build.ArtifactStagingDirectory)/package),并将文件压缩到$(Build.ArtifactStagingDirectory)/package. 最后将 zip 文件发布为构建工件。

构建定义中的详细更改如下:

  1. 更改的MSBuild参数/p:OutDir="$(build.binariesdirectory)\\"Visual Studio中生成任务

    在此处输入图片说明

  2. 在 Visual Studio Build 任务之后添加一个Copy Files任务。此任务的设置如下:

    在此处输入图片说明

  3. 在复制文件任务之后添加存档文件任务。和设置如下:

    在此处输入图片说明

  4. Publish Artifacts 任务更改如下:

    在此处输入图片说明

现在构建工件是排除web.config文件。


blu*_*522 5

在其他参数中添加了-skip:objectName = filePath,absolutePath = web.config。这将在部署期间跳过更新web.config文件。 Azure应用服务部署