管道在启动 Azurite 后挂起

Pipeline hangs after starting Azurite

我使用了下面的yml内容。使用蓝铜矿 3.15 和 3.9。但没有运气。然后我尝试作为单独的工作。仍然无法通过集成测试。

 stages:
    - stage: Publish
      displayName: 'Build and Publish Artifacts'
      jobs:
      - job: 'NGKMediaManagementAPI'
        steps:
        - task: NodeTool@0 
          inputs:
             versionSpec: 13.x
        - script : npm install -g azurite@3.9.0
        - script : mkdir azurite
        - script : azurite

启动 Azurite 时,默认情况下它会阻止您运行在其上安装它的命令提示符,这会使管道看起来挂起。

运行 来自 PowerShell 的命令和 Use the background operator to start a background job.

- task: PowerShell@2
  inputs:
    targetType: 'inline'
    script: |
      npm install -g azurite
      azurite &

更多信息:Run automated tests by using Azurite - Run tests on Azure Pipelines。在此示例中,他们在 Bash 中使用 & operator,这也将 shell 定向到 运行 后台命令。

与此相关的其他有趣命令是 Get-Job, Stop-Job and Remove-Job

解决了挂起问题并通过了管道中的 Init 测试(基于 Azurite)。 在您的 yml 文件中使用以下命令。 最重要的是 start /B azurite 将消除挂起问题!!!

 - task: NodeTool@0 
      inputs:
         versionSpec: 13.x
    - script : npm install -g azurite
      displayName: Install Azurite
    - script : start /B azurite
      displayName: Start azurite

以下是管道成功