【问题标题】:Exclude/Skip files in VSTS Build and release在 VSTS 构建和发布中排除/跳过文件
【发布时间】:2018-04-06 18:27:42
【问题描述】:

我们正在为 VSTS CI/CD 创建架构,以将我们的 Web 应用程序部署到我们的 Azure 应用程序服务。 我们希望在将 web.config 部署到 Azure 服务器时排除它,因为我们直接在不同的环境中修改 web.config。 CI 任务如下所示: CI Taks

CD 任务: 部署 Azure 应用服务 我知道更新 web.config https://docs.microsoft.com/en-us/vsts/build-release/tasks/transforms-variable-substitution 的其他方法,但在我们的例子中,我们想跳过 web.config 文件。 如该线程中所述,我找不到在 VSTS 中发布期间跳过文件的选项 How do I exclude the .cs files within an artifact from a vs-team-services CI build? 有没有办法在构建和部署版本时排除某些文件?

【问题讨论】:

  • 您的构建过程是否生成了 webdeploy 包?
  • 嘿丹尼尔。答案是“是”

标签: azure-devops azure-pipelines azure-pipelines-release-pipeline


【解决方案1】:

附加参数中添加了-skip:objectName=filePath,absolutePath=web\.config。这会在部署期间跳过更新 web.config 文件。

【讨论】:

    【解决方案2】:

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

    构建定义的详细变化如下:

    1. Visual Studio 构建任务中将 MSbuild 参数 更改为 /p:OutDir="$(build.binariesdirectory)\\"

    2. 在 Visual Studio 构建任务之后添加一个复制文件任务。该任务的设置如下:

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

    4. 如下更改发布工件任务

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

    【讨论】:

    • 感谢 Marina 提供分步解决方案。这绝对看起来像是解决问题的方法。我从“Azure App Service Deployment”团队获得的另一项解决方案也有效。我把决议放在下面。
    • 是的,您提供的解决方案更加简单高效。您可以标记自己的答案,这将有利于其他有类似问题的人。
    【解决方案3】:

    其他参数

    -skip:objectName=filePath,absolutePath=\\Configuration\\AppSettings\\Base.config

    【讨论】:

    • 正确编辑你的答案,比如提供一些细节,把图片放在答案中,否则你会被否决。
    • 如何使用 -skip:objectName=filePath,absolutePath=filepath 排除多个文件
    【解决方案4】:

    你可以添加

    -skip:objectName=filePath,absolutePath='.*\PackageTmp\Web.config$'

    在“部署 IIS 网站/应用程序”部署 VSTS 任务的附加参数中,这不会部署您的根 web.config 文件。

    【讨论】:

    • 检查您的 .config 绝对路径?对于.Net core,路径是不同的。例如,如果您在 .net 核心中构建的应用程序使用 -skip:objectName=filePath,absolutePath='.*\\nlog.config$' -skip:objectName=filePath,absolutePath='.*\\appsettings.json$'
    猜你喜欢
    • 1970-01-01
    • 2018-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-07
    • 1970-01-01
    相关资源
    最近更新 更多