blob: df9c26610efe06daa27bab5523cdeeb12174469f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
- name: check if golang is installed
stat:
path: /usr/local/go/bin/go
register: golang_installed
- name: download and extract golang
when: not golang_installed.stat.exists
block:
- name: get latest golang version
shell: |
curl -sSL https://golang.org/dl/ | awk -F '"' '/dl\/.*linux-amd64.*tar.gz/{print $(NF-1)}' | awk -F '/' '{print $3}' | head -1
register: latest_golang
changed_when: false
- name: download golang
get_url:
url: "https://golang.org/dl/{{ latest_golang.stdout }}"
dest: /tmp/golang.tar.gz
- name: extract golang to /usr/local
unarchive:
src: /tmp/golang.tar.gz
dest: /usr/local
remote_src: yes
- name: remove tarball
file:
path: /tmp/golang.tar.gz
state: absent
- name: add golang to PATH
lineinfile:
path: "{{ ansible_env.HOME }}/.bashrc"
line: "{{ item }}"
create: yes
loop:
- "GOPATH={{ ansible_env.HOME }}/go"
- "PATH=$PATH:/usr/local/go/bin:{{ ansible_env.HOME }}/go:{{ ansible_env.HOME }}/go/bin"
|