[英]How to set environment variables in ansible playbook
我試圖通過ansible playbook設置環境變量來安裝帶有vbisam的gnucobol。 但是在執行playbook時沒有設置變量。
name: Setting variables for CPPFLAGS
shell: "echo $CPPFLAGS"
environment:
CPPFLAGS: -I/opt/vbisam-2.0/include
name: Setting variables for LDFLAGS
shell: "echo $LDFLAGS"
environment:
LDFLAGS: -L/opt/vbisam-2.0/lib
name: Setting variables for LD_LIBRARY_PATH
shell: "echo $LD_LIBRARY_PATH"
environment:
LD_LIBRARY_PATH: /opt/vbisam-2.0/lib:${LD_LIBRARY_PATH}
有人可以幫我解決這個問題。
您的環境變量肯定會被設置。 您現有的任務不包含任何驗證此操作的嘗試,所以讓我們添加一個。 例如,如果我們運行此劇本:
- hosts: localhost
tasks:
- name: Setting variables for CPPFLAGS
shell: "echo $CPPFLAGS"
environment:
CPPFLAGS: -I/opt/vbisam-2.0/include
register: cppflags
- debug:
var: cppflags.stdout
我們看作輸出:
PLAY [localhost] *******************************************************************************************************************************
TASK [Gathering Facts] *************************************************************************************************************************
ok: [localhost]
TASK [Setting variables for CPPFLAGS] **********************************************************************************************************
changed: [localhost]
TASK [debug] ***********************************************************************************************************************************
ok: [localhost] => {
"cppflags.stdout": "-I/opt/vbisam-2.0/include"
}
PLAY RECAP *************************************************************************************************************************************
localhost : ok=3 changed=1 unreachable=0 failed=0
正如@techraf在評論中暗示的那樣,重要的是要理解在任務上使用environment
設置環境變量僅為該任務設置環境變量。 也就是說,如果你想同時設置CPPFLAGS
, LDFLAGS
和LD_LIBRARY_PATH
,你需要做類似的事情:
- name: Setting variables for CPPFLAGS
shell: "echo $CPPFLAGS"
environment:
CPPFLAGS: -I/opt/vbisam-2.0/include
LDFLAGS: -L/opt/vbisam-2.0/lib
LD_LIBRARY_PATH: /opt/vbisam-2.0/include
register: cppflags
如果需要在多個任務上設置這些變量,則需要對每個任務應用相同的environment
關鍵字,或者在播放時設置environment
而不是單個任務。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.