azure管道模板保存在单独的存储库中。当前,多个具有相同结构的python项目正在调用同一模板。在每个项目中,根文件夹中都有一个enviroment.yml文件,将选择该文件来创建python环境。我想将这部分封装到模板中(请参见下面的代码Spinet)。
stages:
- stage: test
displayName: Test
dependsOn: []
pool:
vmImage: ${{parameters.vmImageName}}
jobs:
- job: test_environment
displayName: Test environment
steps:
- bash: |
echo "##vso[task.prependpath]$CONDA/bin"
conda env create -f environment.yml --name $(Agent.Id) //Issue!
echo $(Agent.Id)
export PYTHONPATH="src/"
source activate $(Agent.Id)
displayName: Create Conda Environment
对于用问题!注释的行,管道似乎从存储模板的根文件夹中寻找enviroment.yml
。我该如何要求模板在不使用参数输入的情况下从调用文件夹的根目录中选择yml文件?
答案 0 :(得分:0)
您可以使用predefined variables中的一个(即System.DefaultWorkingDirectory
或Pipeline.Workspace
)来指定environment.yaml的绝对路径:
conda env create -f $(System.DefaultWorkingDirectory)/environment.yml --name $(Agent.Id)