我正在将Ansible攻略迁移到Ansible AWX项目中。
以前我会从git签出Ansible playbook,然后从命令行运行它。
在这个特定的案例中,我有一个可创建VMware虚拟机的Ansible Playbook。我使用以下任务来收集有关git代码库和当前git提交散列的信息,并在VM注释中使用此信息,以便以后可以使用它来识别用于创建VM的确切指令。
- name: return git commit hash
command: git rev-parse HEAD
register: gitCommitHash
delegate_to: localhost
become: false
become_user: "{{ lookup('env','USER') }}"
- name: get remote git repo
command: git config --get remote.origin.url
register: gitRemote
delegate_to: localhost
become: false
become_user: "{{ lookup('env','USER') }}"我知道在AWX中运行的攻略是以awx用户身份运行的。
无论如何,在攻略中,我可以获得运行AWX模板的AWX用户,我可以获得Ansible AWX项目的url吗?
更新
我发现我可以通过使用{{awx_user_name}}获得运行该模板的AWX,但还没有找到如何获得项目/攻略的git远程url。
发布于 2020-01-23 19:53:26
我用一个简单的行动手册运行了一个工作模板:
---
- name: Debug AWX
hosts: all
tasks:
- debug:
var: vars在输出中,我可以看到这些变量:
"awx_inventory_id": 1,
"awx_inventory_name": "Demo Inventory",
"awx_job_id": 23,
"awx_job_launch_type": "manual",
"awx_job_template_id": 10,
"awx_job_template_name": "Debug AWX",
"awx_project_revision": "3214f37f271ad589f7a63d12c3d1ef9fa0972d91",
"awx_user_email": "admin@example.com",
"awx_user_first_name": "",
"awx_user_id": 1,
"awx_user_last_name": "",
"awx_user_name": "admin",所以,你不能从工作中得到AWX项目的url。但是你得到了项目ID!
因此,您可以查询接口以获取job_template详细信息,然后查询项目详细信息以获取url。我建议使用CLI来执行这些步骤。
https://stackoverflow.com/questions/59869843
复制相似问题