【问题标题】:Change current working directory in Azure Pipelines更改 Azure Pipelines 中的当前工作目录
【发布时间】:2019-05-20 06:59:01
【问题描述】:

我正在 Azure Pipelines (https://github.com/scikit-image/scikit-image/blob/azure-pipelines/azure-pipelines.yml) 中为 Python 包开发 CI。在某些时候,我需要跳出源代码目录,让pytest 发现这个包的安装,并运行相应的测试。

我面临的问题与cdcd C:等命令似乎没有任何影响有关,因此当前工作目录保持不变(在这种特定情况下,D:\a\1\s )。

有没有办法克服上述限制?

【问题讨论】:

    标签: azure azure-devops azure-pipelines


    【解决方案1】:

    花了很多时间才找到解决方案,但显然,一种方法可以为特定脚本指定工作目录 - https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/utility/command-line?view=vsts&tabs=yaml

    - script: # script path or inline
      workingDirectory: #
      displayName: #
      failOnStderr: #
      env:  # mapping of environment variables to add
    

    【讨论】:

    • 你是否也知道如何将它放到管道的文件夹中(这似乎是一个常见的用例)?
    • 你到底是什么意思?您可以在 YAML 中的每个步骤中使用workingDirectory: subfolder/,其中子文件夹相对于存储库根目录。即使您的管道位于subfolder/azure-pipeline.yml,您也需要它
    • 答案只是强调有一个workingDirectory: 修饰符。在发布此信息时真的很难找到。
    【解决方案2】:

    了解 Azure devops 中目录位置的简单解决方案:-

    - task: CmdLine@2
      inputs:
        script: |
          echo  '$(System.DefaultWorkingDirectory)'
          dir
          dir subfoldername
    

    您需要在哪里调用命令行并使用 System.DefaultWorkingDirectory 获取当前路径,而 dir 将列出所有文件夹和文件 并使用 dir subfoldername 我们可以遍历到子文件夹

    【讨论】:

      猜你喜欢
      • 2021-08-06
      • 1970-01-01
      • 1970-01-01
      • 2010-10-24
      • 2011-03-29
      • 2014-01-14
      • 2014-12-02
      相关资源
      最近更新 更多