Azure API应用程序无法编写部署脚本

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

对于持续部署,我似乎无法弄清楚如何让 Team Foundation Server 中的构建脚本(构建/高级/MSBuild 参数)正常工作。

是的,我使用了 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:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v12.0\Web\Microsoft.Web.Publishing.targets (4350): The value for PublishProfile is set to 'xxx', expected to find the file at 'C:\Builds\4\Outcomes\yyy\src\zzz\zzz\Properties\PublishProfiles\xxx' but it could not be found.

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

无论如何,我之前已经在 Web 应用程序部署中经历过这一切,而我最需要做的就是删除 Team Foundation Server 服务用户工作区。我还删除了构建机器上的所有构建文件夹,以确保它是全新启动的。但这个问题没有任何进展。

最佳答案

我使用 VSO BuildVNext + MSBuild 来部署 API 应用程序,以下是 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 应用程序部署的 Azure Powershell 命令(可与订阅 ID 和证书一起使用)之前,应将其用作临时解决方案。

关于Azure API应用程序无法编写部署脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30112230/

相关文章:

ios - 如何在 Mac 上查看 Azure 通知中心的注册设备?

azure - 使用 ARM 的函数应用程序上的运行时白名单 APIM IP

c# - 无法加载文件或程序集 'msshrtmi' 或其依赖项之一(Azure 表存储访问)

visual-studio-2013 - 如何设置我的 VS 2013 TypeScript 项目来编译我的 typescript 文件但排除我的 node_modules?

reactjs - React 应用程序部署未定义 Netlify 环境变量

azure - Docker 构建无法解析 Windows Server 2019 上的 DNS

c++ - Visual Studio 2013 中的 select_on_container_copy_construction 内部错误

c++ - 创建新线程时复制构造函数调用

javascript - 如何使用 JavaScript 和 Html 创建不可编辑的网站

java - 部署错误 : Java-Webproject from netbeans to glassfish 4. 0