【问题标题】:Azure API App can't script deploymentAzure API 应用程序无法编写部署脚本
【发布时间】:2015-05-07 21:45:41
【问题描述】:

对于持续部署,我似乎无法弄清楚如何让 Team Foundation Server 中的构建脚本(Build/Advanced/MSBuild Arguments)工作。

是的,我使用了 Azure API 应用程序(预览版)配置文件选项并登录了 azure 帐户 - 我可以从那里发布。它似乎还使用了一个我不确定来自哪里的密码,因为在查看“连接”信息时,它是隐藏的,当您在解决方案中查看它时,它在pubxml 中不可用。

我曾经为 Web 应用程序使用以下 MSBuild 参数,但现在如果我引用新的 Azure 发布文件,它就不起作用了。

我以前用过这样的东西:

/flp:verbosity="diagnostic" /p:DeployOnBuild=true /p:PublishProfile=xxx /p:AllowUntrustedCertificate=true /p:UserName="xxxx" /p:Password="xxxx" 

总体而言,API 应用程序没有可用的密码,因此在测试参数时,我删除了 /p 信息。我还确保在 Team Foundation Server 构建机器上安装了适用于 VS 2013 的 Azure SDK,但这并没有解决任何问题。请注意,当此解决方案是 Web 应用程序时,CI 和 CD 工作正常。现在,如果我排除 CD,CI 对 API 应用程序工作正常。

详细日志给了我以下错误:

C:\程序文件 (x86)\MSBuild\Microsoft\VisualStudio\v12.0\Web\Microsoft.Web.Publishing.targets (4350): PublishProfile 的值设置为“xxx”,预计会找到 文件在 'C:\Builds\4\Outcomes\yyy\src\zzz\zzz\Properties\PublishProfiles\xxx' 但找不到。

现在文件确实匹配并且文件位于那里 - 我检查了构建机器的构建文件夹。消息中的引用不引用文件扩展名,但它一定不需要该部分。

无论如何,我之前在 Web 应用程序部署方面经历过所有这些,而我最需要做的就是删除 Team Foundation Server 服务用户工作区。我还删除了构建机器上的所有构建文件夹,以确保它重新开始。不过这个问题没有进展。

【问题讨论】:

    标签: azure visual-studio-2013 web-deployment azure-api-apps


    【解决方案1】:

    我正在使用 VSO BuildVNext + MSBuild 来部署 API App,这里是 MSBuild 的参数:

    msbuild.exe "[Solution_Name]" /p:DeployOnBuild=true /p:PublishProfile="[Publish_Profile_Name]" /p:UserName="[UserName]" /p:Password="[Password]" /p:platform="any cpu" /p:configuration="debug" /p:VisualStudioVersion="12.0"
    

    我在 Azure 门户上发布期间收到的用户名和密码(您需要导航到 Api App Host 并下载发布设置)。

    请注意,将密码存储在构建服务器上并不安全,因此,在发布用于 Api App 部署的 Azure Powershell 命令(可与订阅 ID 和证书一起使用)之前,应将其用作临时解决方案。

    【讨论】:

    • 你能告诉我如何获取密码的详细信息吗? (如何导航到 Api App Host 并下载发布设置?)。谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-03
    • 1970-01-01
    • 2016-06-13
    • 2020-04-13
    • 1970-01-01
    相关资源
    最近更新 更多