问题标签 [kudu]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
4313 浏览

iis - 在 IIS 上设置 Kudu

几天前,微软发布了他们用于将 git 部署到 Azure 的引擎。一段时间以来,我的 TODO 列表中有一项任务是在我的 DEV IIS 服务器上设置这种功能,因此我有兴趣为此目的尝试 Kudu。

入门”文档显示了如何运行 Web 前端,但其中的所有内容都使用“ http://localhost:PORTNUMBER ”类型的 git 存储库、站点 URL 等 URL。

我意识到这可能远远领先于他们,但我想知道是否有人有关于如何使用“常规”IIS 上的真实域而不是所有 localhost 位来设置它的指针?

0 投票
1 回答
1110 浏览

git - 从 TFS 构建过程推送到 git 存储库

我希望使用https://github.com/projectkudu/kudu来自动化我们的部署。我已经设置好 Kudu 并且运行良好。

但是我希望能够从 TFS 构建推送到 git 存储库。我查看了 TFS 中现有的构建模板,并尝试了可爱的 XAML。

有人可以提供一个推送到 git 或在 TFS 中执行可执行文件的简单示例吗?

0 投票
2 回答
1863 浏览

azure - Azure 网站 Git 部署错误

我使用来自 BitBucket 的 Git Deploy 将 Orchard CMS 网站部署到 Windows Azure。

就在我最近的更改中,我在尝试部署时遇到了错误:

该进程无法访问文件“C:\DWASFiles\Sites[MyWebsite]\VirtualDirectory0\site\wwwroot\App_Data\Dependencies\Joel.Net.Akismet.dll”,因为它正被另一个进程使用。

鉴于它的 Azure 网站,我不能“停止 AppPool”或类似的东西。我已经尝试停止该站点,但是在站点停止的情况下我无法进行部署。我不知道如何进一步排除故障。

尝试通过 ftp 更新

没有“重新启动”选项,但我可以停止并启动站点,这不起作用(502 Web 服务器错误)。

通过 ftp 删除 \App_Data\Dependencies 文件夹中的文件不起作用,并得到相同的错误。

停止站点,然后通过 ftp 上传文件确实有效。但是尝试通过 Git 重新部署,我得到了一个类似的错误:

命令:deploy.cmd 处理基本网站部署。KuduSync.NET 从:'C:\DWASFiles\Sites[MyWebsite]\VirtualDirectory0\site\repository' 到:'C:\DWASFiles\Sites[MyWebsite]\VirtualDirectory0\site\wwwroot' 错误:进程无法访问文件' C:\DWASFiles\Sites[MyWebsite]\VirtualDirectory0\site\wwwroot\App_Data\Dependencies\Markdown.dll' 因为它正被另一个进程使用。复制文件:'App_Data\Dependencies\dependencies.compiled.xml' 复制文件:'App_Data\Dependencies\dependencies.xml' 复制文件:'App_Data\Dependencies\Ionic.Zip.dll' 复制文件:'App_Data\Dependencies\Joel. Net.Akismet.dll' 复制文件:'App_Data\Dependencies\Markdown.dll' 在网站部署过程中出现错误。处理基本网站部署。

我确信它不仅仅是一个 dll,而是 \App_Data\Dependencies 文件夹中的所有 dll 在 Git 部署期间都不会“停止”。

尝试在 Azure 网站上设置另一个站点来执行 Git 部署

我已经为 Git 设置了另一个 Azure 站点来部署相同的代码分支,这工作正常。

但是当我将我的域名切换到新的 Azure 网站时,我的新网站不再工作,但我的旧网站可以接受 git deploy。

因此,我的域名指向它的网站,一定是有活动导致更新停止工作。有没有办法停止站点进行 Git 部署?


因此,根据@David 的评论从我的仓库中删除 Dependencies 文件夹后,我收到了一个新错误:

命令:deploy.cmd 处理基本网站部署。KuduSync.NET 从:'C:\DWASFiles\Sites[MyWebsite]\VirtualDirectory0\site\repository' 到:'C:\DWASFiles\Sites[MyWebsite]\VirtualDirectory0\site\wwwroot' 错误:访问路径 'Joel. Net.Akismet.dll' 被拒绝。复制文件:'.gitignore' 删除文件:'App_Data\Dependencies\Joel.Net.Akismet.dll' 网站部署过程中出现错误。处理基本网站部署。

似乎 Kudu 同步发现 Dependencies 文件夹中没有文件,并试图删除它们!当我根本没有 Dependencies 文件夹时也会发生同样的情况 - 它试图删除 Dependencies 文件夹。

@David 是否有 kudu 忽略文件?


解决了!

好的,我坚持下去,我终于解决了。

  • 我删除了整个 app_data 文件夹(先备份它),然后将其签入 Git。
  • 这被推送到 Azure,给了我一个全新的 Orchard 站点
  • 然后我重新添加了我的 app_data 但选择忽略 app_data/dependencies 文件夹
  • 推送到 Git 并完美更新到 Azure

希望我的下一次检查仍然有效(手指交叉)

0 投票
1 回答
291 浏览

node.js - 在 Azure 网站上使用 Kudu 检索 MySql 连接信息

当我使用 Git 推送时,Kudu(或其他方式)有没有办法检索 MySql 连接信息?

我知道我可以通过门户访问它,但我想编写一个构建脚本,它会根据我要推送到的 Azure 网站生成一些文件。我也知道应用程序设置,但我不想在那里重复。

我正在部署一个自定义构建的 WordPress 实例,我想在其中wp-config.php动态构建文件而不是将其签入到我的存储库中。

0 投票
1 回答
3957 浏览

node.js - Grunt 无法在 Azure 网站上运行

我正在尝试使用 Azure 的 Git 部署来构建和打包我的项目。

我创建了以下文件

  • .deployment
  • deploy.cmd
  • Gruntfile.js
  • package.json

我的.deployment文件调用deploy.cmd. deploy.cmd通过将路径设置为包含已签入的 Node.js 和 npm 副本来设置环境。我可以打电话npm install就好了。当我调用时grunt,它似乎执行到第一个标准输出消息,然后它返回并设置错误返回代码。除此之外,我没有收到任何其他信息。其他命令似乎运行得很好。

我试过用管道输出 STDERR,没有运气。我尝试在远程执行控制台下运行,那里没有运气。我Gruntfile.js在本地跑得很好。

有没有我想念的魔法酱?

0 投票
1 回答
143 浏览

azure - 为什么 Azure 网站标准小型实例上的 Orchard 构建时间如此之长?

我正在用一堆模块(包括我的模块)构建 Orchard 1.6。共 56 个模块。它已经在 Azure 网站标准小型实例(1 个核心,1.75 MB 内存)上构建了将近 3 个小时。

它占用了 2,54 GB 的文件系统存储空间。

我通过将 Azure 链接到 Bitbucket 存储库来构建它。在存储库中有所有带有模块等的 Orchard 源代码。

在我的.deployment文件中:

为什么需要这么长时间?

更新。花了5小时:

(看起来 Orchard.proj 做了所有测试(specflow,单元测试)。可能它没有带fastbuild参数。需要检查它。)

它花了2,61GB。这很烦人,因为我希望部署到共享实例(<1GB)。现在需要检查 azure storage 变体。

谢谢

0 投票
1 回答
201 浏览

azure - 仅当从 GitHub 部署时,Azure 中的 F# 编译错误

我正在从 GitHub 存储库将 C# 网站部署到 Azure。这个网站引用了几个 F# 库,它们在我的机器上编译得很好,但在 Azure 中,构建失败并出现许多编译错误。

这是构建日志的片段:

第一个错误应该在我将 CLIMutable 属性放在有问题的记录类型上后修复,第二个错误应该在包含正确的命名空间后修复。我不知道第三个错误到底是什么,特别是因为它们都没有在本地发生。

为了确保我在两个地方都有相同版本的 F#,我在解决方案中包含了 FSharp.Core dll 并参考本地版本。这无济于事,但它删除了一个警告,即它找不到文件的 4.3.1 版本。

是否有可能我正在运行另一个版本的 F# 编译器,我该如何检查?到目前为止,它一直运行良好,这让我怀疑某些东西的版本控制存在细微差别。不幸的是,似乎很难深入了解构建环境中实际发生的情况。这是一个免费网站 Azure 网站,您似乎无法直接访问它。

我现在可能可以解决个别问题,但这里似乎有一个更深层次的问题。

0 投票
1 回答
219 浏览

azure - git deploy 到 Azure 网站已停止工作

几个月来,我已经成功地使用 Git 部署(通过 Kudu)到几个 Azure 网站(例如 beta/prod),而且效果很好。从今天开始,我注意到当我推送到相应的 git 分支时,我的 Azure 网站应该会部署 - 即部署开始,一切构建,我的所有测试运行,Azure 管理门户上下发誓它已部署我的网站 - 但是......没有任何反应。我的网站没有改变。(Beta 和 prod 从同一个 git repo 的不同分支中提取,但无论我推送到哪个,最新推送中包含的任何更改都不会显示在任一网站上。)

日志中没有错误或任何其他问题指示。Azure 门户检测到 git 推送,运行部署,并发誓它们已经成功发生。但是这些变化——一些非常简单的变化,即特定页面上的文本——根本不存在。

这是我通常会联系 Azure 支持的事情,但我的订阅不包括技术支持 :-(。Azure 网站建议在此处询问 SO,因此我的帖子。

有什么建议可以进一步解决这个问题吗?

0 投票
1 回答
1614 浏览

git - 无法通过 Git 在 Azure 上部署静态网站

我的 Git 存储库中有一个简单的项目结构。

我为目录设置了从 Bitbucketapi到 Azure 网站的持续部署,没有任何故障。我设置了一个名为的应用程序设置并将project值设置为api/ProjectName.csproj,它工作得很好。

我创建了一个单独的 Azure 网站,并尝试以相同的方式为静态网站设置持续部署,但它不起作用。我创建了一个名为的应用程序设置projectclient/dist

当它尝试部署时,我在错误日志中收到以下错误消息。

无法确定要构建哪个解决方案文件。C:\DWASFiles\Sites\flighty\VirtualDirectory0\site\repository\MyProject.sln,C:\DWASFiles\Sites\flighty\VirtualDirectory0\site\repository\client\components\moment-datepicker\MomentDatepicker.sln。

0 投票
3 回答
1194 浏览

azure - Azure 网站 Git 部署在 SCM_BUILD_ARGS 中删除“/”

描述

我们在一个基于 MVC4/Umbraco 的当前项目中,使用 Azure 网站来托管它。

我们正在使用 SCM_BUILD_ARGS 在不同的构建设置之间进行更改,具体取决于我们部署到 Azure 中的哪个站点(测试和生产)。

这是通过在 UI 中定义应用设置来完成的:

SCM_BUILD_ARGS = /p:环境=测试

早些时候我们使用 Bitbucket 集成进行部署,在这里这个设置就像一个冠军。

我们现在已经切换到使用 Git 部署,在测试通过时从我们的构建服务器推送更改。但是当我们这样做时,我们会得到一个可爱的错误。

“MSB1008:只能指定一个项目。”

尝试从 Azure 上的 UI 重新部署相同的失败部署是可行的。

经过一些试验和错误后,我结束了进入 deploy.cmd 并%SCM_BUILD_ARGS%在脚本中输出值。看起来/从 SCM_BUILD_ARGS 中删除了,但仅在使用 Git 部署时,而不是 Bitbucket 集成或从 UI 重新部署时。

解决方法

作为解决方法,我现在/在 .deploy.cmd 脚本前面添加了一个%SCM_BUILD_ARGS%,但这当然会破坏重新部署,因为我们//p:Environment=Test在 MSBuild 命令中%SCM_BUILD_ARGS%插入了 的值。

问题

任何人都知道这个问题的更好解决方案,或者它可能是 Kudu 中的一个错误?我们希望从 Git 部署和重新部署都能正常工作。