写我的第一个Ansible Script。我正在尝试安装GVM。
我安装GVM ok(我登录到盒子并选中),当我在盒子上直接运行GVM版本时,我得到:Go Version Manager v1.0.22 installed at /d1/golang/gvm
但是当我在Ansible中将它作为命令运行时:
- name: GVM Version
shell: gvm version
become: yes
我得到以下错误:
failed: [prod2] => {"changed": true, "cmd": "gvm version", "delta": "0:00:00.002081", "end": "2015-10-19 13:41:54.123575", "rc": 127, "start": "2015-10-19 13:41:54.121494", "warnings": []}
stderr: /bin/bash: gvm: command not found
FATAL: all hosts have already failed -- aborting
我正在运行一个bash脚本,其中包含:source /d1/golang/gvm/scripts/gvm
,它应该确保您不必重新启动终端-参见下面的ansible命令。
- name: Run gvm source
shell: . /etc/profile.d/golang.sh executable=/bin/bash
become: yes
你知道我做错了什么吗?
最后在ansible命令
中运行了两个命令name: Install go
shell: . /etc/profile.d/golang.sh && gvm install go1.5 executable=/bin/bash
这确保源已设置,然后允许gvm
命令运行。