2014-08-28 37 views
3

在大多數ansible例如,設置環境,如設置如下HTTP_PROXY,看到http://docs.ansible.com/playbooks_environment.html如何取消設置HTTP_PROXY在ansible劇本

- hosts: all 
    tasks: 
    - apt: name=cobbler state=installed 
    environment: 
     http_proxy: http://proxy.example.com:8080 

以我爲例,我需要這個http_proxy系統的外殼,而我想在劇本中禁用此功能,我該如何實現這一目標?

如果我在外殼的工作,我可以用unset http_proxy

+0

您是否嘗試將該變量設置爲空? – Mxx 2014-08-29 05:08:44

+0

是的,它不起作用。它喜歡'set http_proxy =''' – 2014-08-29 12:01:26

+0

@LarryCai,你找到了解決方案?我面臨同樣的情況,多年來我的公司網絡上有一個代理,現在它已被刪除,但我無法在我的操作手冊中進行此更改。 – Delphine 2017-11-21 13:30:39

回答

0

你玩會做到這一點:環境將只用於任務設置,和任何後續任務將不會有變量集。

嘗試例如:

- hosts: all 

    tasks: 
    - apt: name=cobbler state=installed 
    environment: 
     http_proxy: http://proxy.example.com:8080 

    - shell: "echo $http_proxy" 

外殼任務將返回:"stdout": ""

+1

thx,但我想在系統手冊中禁用系統http_proxy。 – 2014-11-08 15:19:33

2

你可以暫時禁用主機(S)或URL代理你想聊得來,例如

environment: 
    no_proxy: 192.168.1.2,www.google.com