You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Ansible Tower执行的Playbook中获取Git-Revision

在Ansible Tower Playbook中获取已检出的Git Revision

当然可以实现,Ansible Tower(包括AWX)在运行作业时会自动暴露当前项目的Git Revision相关变量,直接在Playbook中调用即可,具体方法如下:

方法1:直接使用Tower内置变量

Tower会自动将当前检出的Git Revision注入为{{ tower_project_revision }}变量(AWX对应{{ awx_project_revision }}),直接在Playbook中引用就行。比如要写入版本文件:

- name: 记录当前部署的Git版本
  copy:
    content: "当前部署版本: {{ tower_project_revision }}"
    dest: /var/log/deployed_version.txt
    mode: '0644'

方法2:通过环境变量读取

如果内置变量未生效,也可以读取Tower设置的环境变量TOWER_PROJECT_REVISION(AWX为AWX_PROJECT_REVISION),用lookup插件获取:

- name: 获取Git版本号
  set_fact:
    deployed_rev: "{{ lookup('env', 'TOWER_PROJECT_REVISION') }}"

- name: 写入版本文件
  copy:
    content: "部署版本SHA: {{ deployed_rev }}"
    dest: /opt/app/deployed_rev.txt
    mode: '0644'

注意事项

  • 这些变量仅在Tower/AWX触发的作业中存在,本地手动运行Playbook时不会生成,可通过when条件避免报错:
    when: tower_project_revision is defined
    
  • 确保你的Tower项目配置中,Git仓库的拉取策略设置为「每次作业前拉取」或定期同步,这样获取的Revision才是最新的已检出版本

内容的提问来源于stack exchange,提问作者Sebastian

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 00:54:29