gpt4 book ai didi

jenkins - MS Web Deploy 忽略 条目 + 写入错误的文件

转载 作者:行者123 更新时间:2023-12-01 04:48:01 34 4
gpt4 key购买 nike

问题

  • 我们有 3 个参数需要通过我们的 3rd 方服务进行身份验证:用户名、密码、securityToken,它们位于意想不到的地方(取决于环境,它们可能位于 Web.config 或 CI 构建脚本中)。
  • 我们要求 MS Web Deploy 编写 <setParameter>我们的 XML 文件中的值,但它忽略了一些......特别是用户名、密码和安全 token 参数
  • MS Web Deploy 想写入 \Views\Web.config .我们想写信给 \Web.config .

  • 2 目标
  • 将我们所有的身份验证凭据组织到 DeploySettings.xml对应于每个或我们的环境(开发、质量保证和生产)的文件。
  • 写信 <setParameter>值为 \Web.config 不是 \Views\Web.config

  • 细节
  • 我们正在使用 Jenkins 进行持续集成。
  • Jenkins 正在调用 MS Web Deploy 3 来处理部署。
  • 我们将有一个 部署设置 每个环境的文件。
  • 我目前正在开发我们的开发环境。对于这个问题的范围,我将指的是我们的“开发”环境,它是各自的 DeploySettings.Dev.xml文件
  • Jenkins 部署脚本告诉 web 部署使用 -setParamFile<setParameter> 覆盖\Web.config 值来自 DeploySettings.Dev.xml 的值文件

  • 调用 DeploySettings 文件的部署脚本
    -setParamFile:"%WORKSPACE%\DeploySettings.Dev.xml" -verbose

    DeploySettings.Dev.xml

    ⚠️ This is not the entire file


    <?xml version="1.0" encoding="utf-8"?>
    <parameters>
    <setParameter
    name="username"
    value="lukeSkywalker" />
    <setParameter
    name="password"
    value="xxxxxx" />
    <setParameter
    name="token"
    value="xxxxxx" />
    <setParameter
    name="DBConnection"
    value="Data Source=fully.qulified.domain;Initial Catalog=CatalogName;uid=obiwan;password=xxxxx;MultipleActiveResultSets=True" />
    <setParameter
    name="SessionDBConnection"
    value="Data Source=1.2.3.4;uid=userId;password=xxxxxx" />
    ...

    详细的 Jenkins 部署控制台日志记录表明用户名、密码和 token 被忽略

    note that username, password and token are absent


    Verbose: Parameter entry 'DBConnection/1' is applicable to '\Web.config' because of its scope.
    Verbose: Parameter entry 'SessionDBConnection/1' is applicable to '\Web.config' because of its scope.

    详细的 Jenkins 部署控制台日志记录显示我们正在写入错误的文件 (\Views\Web.config)
    Verbose: Parameter entry 'DBConnection/1' is applicable to '\Views\Web.config' because of its scope.
    Verbose: Parameter entry 'DBConnection/1' could not be applied to '\Views\Web.config'. Deployment will continue with the original data. Details:

    Verbose: Parameter entry 'DBConnection/1' is applicable to '\Views\Web.config' because of its scope.
    Verbose: Parameter entry 'DBConnection/1' could not be applied to '\Views\Web.config'. Deployment will continue with the original data. Details:

    炙手可热的问题
  • 如何配置 Web 部署以写入\Web.config?\Views\Web.config 错误
  • 如何配置-setParamFile获取和覆盖 username , passwordtoken ?

  • 谢谢你的时间。

    最佳答案

    问题解决了

    我将这种类型的配置重写工作移到构建脚本中(Jenkins >“您的项目”>“构建”>“配置”)。

    这是我如何让它工作的一个例子

    SET PATH=%PATH%;c:\Program Files (x86)\IIS\Microsoft Web Deploy V3
    msdeploy.exe -verb:sync -source:dirPath="%WORKSPACE%\" ^
    -dest:package="%WORKSPACE%\ArtifactName-%BUILD_NUMBER%.zip" ^
    -replace:objectName=dirPath,targetAttributeName=path,match="^C:\\.*\\pathToSite",replace="c:\sitesRoot\pathToSite" ^
    -declareParam:name=DBConnection,kind=XmlFile,scope=Web.config,match=//configuration/connectionStrings/add/@connectionString,defaultValue="Data Source=1.2.3.4;Initial Catalog=dbName;uid=website;password=xxxx;MultipleActiveResultSets=True" ^
    -declareParam:name=SessionDBConnection,kind=XmlFile,scope=Web.config,match=//configuration/system.web/sessionState/@sqlConnectionString,defaultValue="Data Source=1.2.3.4;uid=xxxx;password=xxxx" ^
    -declareParam:name=Parameter1,kind=XmlFile,scope=Web.config,match=//configuration/appSettings/add[@key="Parameter1"]/@value,defaultValue="paramValue1" ^
    -declareParam:name=Paramtere2,kind=XmlFile,scope=Web.config,match=//configuration/appSettings/add[@key="Parameter2"]/@value,defaultValue="paramvalue2" ^

    关于jenkins - MS Web Deploy 忽略 <setParameter> 条目 + 写入错误的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44862402/

    34 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com