2015-05-08 16 views

Trả lời

112

Từ ansible docs: Nếu một biến cần thiết chưa được cài đặt, bạn có thể bỏ qua hoặc không sử dụng Jinja2 của định nghĩa kiểm tra. Ví dụ:

tasks: 

- shell: echo "I've got '{{ foo }}' and am not afraid to use it!" 
    when: foo is defined 

- fail: msg="Bailing out. this play requires 'bar'" 
    when: bar is not defined 

Vì vậy, trong trường hợp của bạn, when: deployed_revision is not defined nên làm việc

+3

nhờ này làm việc cho tôi 'khi: deployed_revision không được định nghĩa hoặc deployed_revision.stdout không được định nghĩa hoặc deployed_revision.stdout == ''' – sakhunzai

+3

Bạn cũng có thể kết hợp nó với các điều kiện khác nhau: 'when: item.sudo được định nghĩa và item.sudo == true' – czerasz

+2

Đừng làm những gì tôi đã làm và đặt dấu ngoặc nhọn quanh foo trong' when: foo được định nghĩa' (ví dụ: điều này không hoạt động: 'khi: {{foo}} được định nghĩa' – David

Các vấn đề liên quan