当我在 azure devops server shell 脚本任务中传递变量(路径)时,打印的路径不带“/”
When I pass the variable(path) in azure devops server shell script task, path prints without "/"
当我将“$(Build.SourcesDirectory)”变量作为 shell 脚本参数传递时,我正在使用 Azure DevOps 服务器管道 shell 脚本任务,我发现路径是打印变量时没有得到“/”。
这是 Azure DevOps 管道任务:
这是我的 shell 脚本:
!/bin/bash
echo
这是管道的输出:
请告诉我如何在打印变量时获得实际路径(带“/”)?
如果我没猜错的话,这个管道使用的代理位于 Windows?
请尝试将变量作为 $BUILD_SOURCESDIRECTORY
传递,不带任何双引号或单引号。
我找到了解决方案。
我在 azure-pipelines.yml 中添加了 Azure DevOps Server 2019 预定义变量作为额外变量,如下所示:
- task: Ansible@0
inputs:
ansibleInterface: 'agentMachine'
playbookPathOnAgentMachine: 'ansible/tfs_playbooks/install_agent.yml'
inventoriesAgentMachine: 'file'
inventoryFileOnAgentMachine: 'hosts.yml'
args: '--extra-vars "build_source_dir=$(Build.SourcesDirectory)"'
然后我可以使用这个访问我的剧本中的变量:
---
- hosts: localhost
tasks:
- name: show debug
debug:
msg: "Dir {{ build_source_dir }}"
当我将“$(Build.SourcesDirectory)”变量作为 shell 脚本参数传递时,我正在使用 Azure DevOps 服务器管道 shell 脚本任务,我发现路径是打印变量时没有得到“/”。
这是 Azure DevOps 管道任务:
这是我的 shell 脚本:
!/bin/bash echo
这是管道的输出:
请告诉我如何在打印变量时获得实际路径(带“/”)?
如果我没猜错的话,这个管道使用的代理位于 Windows?
请尝试将变量作为 $BUILD_SOURCESDIRECTORY
传递,不带任何双引号或单引号。
我找到了解决方案。 我在 azure-pipelines.yml 中添加了 Azure DevOps Server 2019 预定义变量作为额外变量,如下所示:
- task: Ansible@0
inputs:
ansibleInterface: 'agentMachine'
playbookPathOnAgentMachine: 'ansible/tfs_playbooks/install_agent.yml'
inventoriesAgentMachine: 'file'
inventoryFileOnAgentMachine: 'hosts.yml'
args: '--extra-vars "build_source_dir=$(Build.SourcesDirectory)"'
然后我可以使用这个访问我的剧本中的变量:
---
- hosts: localhost
tasks:
- name: show debug
debug:
msg: "Dir {{ build_source_dir }}"