编写我的第一个Ansible脚本。我正在尝试安装GVM。
当直接在包装盒上运行gvm版本时,我安装了GVM ok(我登录到该包装盒并选中),我得到: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
命令。