【问题标题】:AppVeyor custom (deployment) script - what is the difference between PS, PS CORE, CMD and SH in yaml file?AppVeyor 自定义(部署)脚本 - yaml 文件中的 PS、PS CORE、CMD 和 SH 有什么区别?
【发布时间】:2018-08-02 07:34:14
【问题描述】:

我只是想使用 AppVeyor 将我的后端从 Github 部署到 Azure。 现在我有点难以弄清楚部署脚本(我放入 yaml 文件中)应该是什么样子。

我发现了这样的东西:

curl -X POST -u myNick --data-binary @"myApiArtefact.Api.zip" https://my-azure-site.scm.azurewebsites.net/api/zipdeploy

我把它放到AppVeyor的Settings > Deployment > Script冒号中。

但我也可以设置它是 PS、PS CORE、CMD 还是 SH 脚本,这会更改脚本的前缀(例如 -sh rest-of-the-script)。 我猜这可能意味着脚本是通过 powershell、命令行或 bash 执行的。 但是对于一个更像 Windows 的前端女士来说,这对我来说都是希腊语。不知道有什么变化?请问这个脚本运行时会发生什么?

【问题讨论】:

    标签: deployment yaml settings appveyor


    【解决方案1】:

    AppVeyor documentation on Build Configuration 中解释了这些脚本设置。基本上它们会影响行(或块)的执行方式:

    • PS (ps) 使用 PowerShell(在 Ubuntu 上它是 same 作为 PS 核心)。
    • PS 核心 (pwsh) 使用 PowerShell 核心。与 PowerShell 的语法相同,但它也适用于 Linux(AppVeyor 有一个 Ubuntu 映像可用)。
    • CMD(cmd 或在 Windows 上没有前缀)使用 cmd.exe
    • SH(sh 或在 Linux 上无前缀)使用 Bash,仅在 Linux 上执行。

    对于您的curl 命令,我建议使用cmd (Windows) 或sh (Linux) 而不是PowerShell 变体,因为@ 字符具有特殊含义。执行时,它会尝试使用特定用户名将 zip 文件上传到网站。

    对于另一种特定于 AppVeyor 的方法,请查看他们在 Publishing to Azure App Service with Zip Push Deploy 上的文档。

    【讨论】:

    • 没有前缀在 Windows 上运行 cmd,在 Linux 上运行 bashThis part of doc 也会有所启发。
    猜你喜欢
    • 2015-05-24
    • 2015-01-13
    • 1970-01-01
    • 2021-12-25
    • 1970-01-01
    • 1970-01-01
    • 2021-09-06
    • 2018-12-22
    • 2014-04-30
    相关资源
    最近更新 更多