如何在我的 Ansible Playbook 中使用 Azure DevOps 服务器 (TFS) 预定义变量?
How to use Azure DevOps server (TFS) Predefined Variable in My Ansible Playbook?
我想在我的剧本中使用 Azure DevOps 预定义变量“$(Build.SourcesDirectory)”:
这是我的剧本:
---
- hosts: KBR_MTL361
tasks:
- name: copy file
win_copy:
src: D:\Web.config
dest: $(Build.SourcesDirectory)
我是运行这本使用 Azure DevOps 管道的 ansible-playbook:
TFS Pipeline Task
但是没用
有没有人知道如何在管道中使用变量?
如果你看这里:https://daniel-krzyczkowski.github.io/Parameters-In-Azure-DevOps-Pipelines有一种方法可以将管道变量传递给 powershell 脚本,例如:
[CmdletBinding()]
param (
$ApiManagementServiceName,
$ApiManagementServiceResourceGroup
)
$apimServiceName = $ApiManagementServiceName
$resourceGroupName = $ApiManagementServiceResourceGroup
Write-Host "Api Management Service Name: $($apimServiceName)"
Write-Host "Api Management Resource Group Name: $($resourceGroupName)"
你说的仍然在使用 powershell,所以试试这个或尝试做一些类似的事情,对你的情况有用,对我来说,上述方法在标准 powershell 中工作得很好。
只需将您的变量作为附加参数添加到 azure-pipelines.yml 中,如下所示:
- 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) AGENT_URL=$(AGENT_URL)"'
然后您可以访问 剧本中的变量:
---
- hosts: localhost
tasks:
- name: show debug
debug:
msg: "Dir {{ build_source_dir }} agent url {{AGENT_URL}}"
我想在我的剧本中使用 Azure DevOps 预定义变量“$(Build.SourcesDirectory)”:
这是我的剧本:
---
- hosts: KBR_MTL361
tasks:
- name: copy file
win_copy:
src: D:\Web.config
dest: $(Build.SourcesDirectory)
我是运行这本使用 Azure DevOps 管道的 ansible-playbook:
TFS Pipeline Task
但是没用
有没有人知道如何在管道中使用变量?
如果你看这里:https://daniel-krzyczkowski.github.io/Parameters-In-Azure-DevOps-Pipelines有一种方法可以将管道变量传递给 powershell 脚本,例如:
[CmdletBinding()]
param (
$ApiManagementServiceName,
$ApiManagementServiceResourceGroup
)
$apimServiceName = $ApiManagementServiceName
$resourceGroupName = $ApiManagementServiceResourceGroup
Write-Host "Api Management Service Name: $($apimServiceName)"
Write-Host "Api Management Resource Group Name: $($resourceGroupName)"
你说的仍然在使用 powershell,所以试试这个或尝试做一些类似的事情,对你的情况有用,对我来说,上述方法在标准 powershell 中工作得很好。
只需将您的变量作为附加参数添加到 azure-pipelines.yml 中,如下所示:
- 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) AGENT_URL=$(AGENT_URL)"'
然后您可以访问 剧本中的变量:
---
- hosts: localhost
tasks:
- name: show debug
debug:
msg: "Dir {{ build_source_dir }} agent url {{AGENT_URL}}"