【问题标题】:CLI dotnet run with another commandCLI dotnet 使用另一个命令运行
【发布时间】:2020-06-24 19:25:08
【问题描述】:

我需要运行命令行dotnet run,在启动url localhost后,我需要运行另一个命令,如curl

我可以这样做: dotnet run & sleep 12; curl http://localhost:59406

但如果dotnet run 延迟超过 12 秒,它将被停止。

用linux命令也许可以解决,但我没有这方面的经验。

如果有帮助,我将在构建 Azure DevOps 管道时使用它,在 localhost 上运行 newman 测试

【问题讨论】:

    标签: .net-core azure-devops command-line-interface newman


    【解决方案1】:

    如果dotnet run 启动应用程序需要更长的时间,您可以延长睡眠时间,以确保您的应用程序在curl url localhost 时启动

    如果您在 azure devops 管道中使用它,您可以使用两个 bash 任务来运行上述命令。第一个 bash 任务运行 dotnet run & 以在后台启动您的应用程序。第二个 bash 任务运行 curl 以 curl url localhost。请参阅下面的 yaml 管道示例。

    - bash: |
        #cd ConnectionWeb/ConnectionWeb
        #dotnet restore
    
        dotnet run & 
    
    - bash: |
        curl http://localhost:8881
    

    【讨论】:

    • 我复制并粘贴了您的示例,但它不起作用。当它执行curl 时,本地主机不可用。
    • 当 bash shell 关闭时,后台的应用程序进程可能被杀死。但是我在本地代理和云代理上都进行了测试,上面的脚本运行良好。您可以尝试使用nohup 运行该应用程序。例如nohup dotnet run &
    猜你喜欢
    • 2020-04-15
    • 1970-01-01
    • 2013-08-13
    • 2023-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-24
    • 2019-01-02
    相关资源
    最近更新 更多