如何在新的Azure CLI中自动生成deploy.cmd?

时间:2017-05-25 14:11:06

标签: azure azure-web-app-service azure-cli

我正在关注this guide创建一个包含自定义deploy.cmd文件的网络应用。文章建议我可以使用以下命令获取当前deploy.cmd文件的副本(我将随后修改):

azure site deploymentscript --python

不幸的是,当我使用文章中链接的MSI安装Azure CLI时,我的路径上没有azure二进制文件。我有az - 这是同一个CLI的新版本吗? - 但我找不到该可执行文件的等效部署脚本生成命令。

我找到了使用Kudu的deploy.cmd文件(在D:\home\site\deployments\tools下),但我不确定这是否是适当的文件。任何人都可以为部署脚本生成建议正确的Azure CLI命令,或者确认我找到的deploy.cmd文件是正确的修改文件吗?提前谢谢!

2 个答案:

答案 0 :(得分:7)

根据我的知识,天蓝色cli(2.0)中没有等效azure site deploymentscript。因此,您无法使用Azure CLI 2.0部署自定义脚本。

您最好了解Azure cli 2.0(az)与Azure cli 1.0(azure)之间的区别。

  

Azure CLI 2.0:我们用Python编写的下一代CLI,用于   资源管理器部署模型。

     

Azure CLI 1.0:我们用Node.js编写的CLI,用于两者   经典和资源管理器部署模型。

对于您的方案,如果您可以安装Azure ClI 1.0,则可以参考此link来安装Azure CLI 1.0。

除了使用命令行生成启动器部署脚本之外,还有一种替代方法通常更容易:

  • 在没有任何部署脚本的情况下部署您的仓库。
  • 转到网站Kudu Console
  • 从“工具”菜单中,选择“下载部署脚本”。您将获得带有.deployment和deploy.cmd文件的zip。
  • 在您的仓库的根目录下提交两个文件
  • 根据需要调整它们

更多信息请参阅此link

答案 1 :(得分:4)

您可以使用 kuduscript 生成部署脚本。

npm install -g kuduscript
kuduscript --python

这是选项列表

Options:

    -h, --help                          output usage information
    -V, --version                       output the version number
    -r, --repositoryRoot [dir path]     The root path for the repository (default: .)
    --aspWAP <projectFilePath>          Create a deployment script for .NET web application, specify the project file path
    --aspNetCore <projectFilePath>      Create a deployment script for ASP.NET Core web application, specify the project file path
    --aspWebSite                        Create a deployment script for basic website
    --go                                Create a deployment script for Go website
    --node                              Create a deployment script for node.js website
    --ruby                              Create a deployment script for ruby website
    --php                               Create a deployment script for php website
    --python                            Create a deployment script for python website
    --functionApp [projectFilePath]     Create a deployment script for function App, specify the project file path if using msbuild
    --basic                             Create a deployment script for any other website
    --dotNetConsole <projectFilePath>   Create a deployment script for .NET console application, specify the project file path
    -s, --solutionFile <file path>      The solution file path (sln)
    -p, --sitePath <directory path>     The path to the site being deployed (default: same as repositoryRoot)
    -t, --scriptType <batch|bash|posh>  The script output type (default: batch)
    -o, --outputPath <output path>      The path to output generated script (default: same as repository root)
    -y, --suppressPrompt                Suppresses prompting to confirm you want to overwrite an existing destination file.
    --no-dot-deployment                 Do not generate the .deployment file.
    --no-solution                       Do not require a solution file path (only for --aspWAP otherwise ignored).