我想将当前检出的提交SHA-1
哈希存储为Ansible的代码版本。
我想将此版本set_fact
用于其他角色。
答案 0 :(得分:13)
Ansible中的git
模块会为您返回此信息,您只需要在变量中注册(在下面的示例中变量为gitresult
)。
- hosts: web
tasks:
- name: Checkout repo
git:
repo=https://github.com/michalgasek/www-discogs.git
dest=/vagrant/checkout
update=yes
accept_hostkey=yes
register: gitresult
- debug: msg="SHA-1 before git update is {{ gitresult.before }}"
- debug: msg="SHA-1 after git update is {{ gitresult.after }}"
跑步:
PLAY ***************************************************************************
TASK [setup] *******************************************************************
ok: [192.168.2.201]
TASK [Checkout repo] ***********************************************************
ok: [192.168.2.201]
TASK [debug] *******************************************************************
ok: [192.168.2.201] => {
"msg": "SHA-1 before git update is 87544e2ea1c8dec30e5fc68302caa262b10affda"
}
TASK [debug] *******************************************************************
ok: [192.168.2.201] => {
"msg": "SHA-1 after git update is 87544e2ea1c8dec30e5fc68302caa262b10affda"
}
我希望它能解决你的问题。