Ansible GVM - Go 版本管理器

Ansible GVM - Go Version Manager

编写我的第一个 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

我正在 运行ning 一个 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 命令为 运行。