forked from bitlair/ansible
Add common roles from polyfloyd's playbookds
This commit is contained in:
parent
1332f49101
commit
e43ec3229f
23 changed files with 694 additions and 0 deletions
64
roles/go/tasks/main.yaml
Normal file
64
roles/go/tasks/main.yaml
Normal file
|
@ -0,0 +1,64 @@
|
|||
---
|
||||
- name: go
|
||||
tags: go,go_install
|
||||
block:
|
||||
- name: Remove Debian Go package
|
||||
apt:
|
||||
name: golang
|
||||
autoremove: yes
|
||||
state: absent
|
||||
|
||||
- name: Install dependencies
|
||||
apt:
|
||||
name: curl
|
||||
state: present
|
||||
|
||||
- name: Fetch Go latest version
|
||||
shell: "curl --silent --location https://go.dev/doc/devel/release | grep -Eo 'go[0-9]+(\\.[0-9]+)+' | sort -V | uniq | tail -1 | sed s/^go//"
|
||||
args:
|
||||
warn: false
|
||||
changed_when: false
|
||||
register: go_latest_version_shell
|
||||
|
||||
- name: Format Go latest version variable
|
||||
set_fact:
|
||||
go_latest_version: "{{ go_latest_version_shell.stdout }}"
|
||||
|
||||
- name: Detect installed Go version
|
||||
shell: "go version | grep -Po '\\d\\.\\d+(\\.\\d+)?' || echo none"
|
||||
register: go_installed_version_shell
|
||||
ignore_errors: true
|
||||
changed_when: false
|
||||
|
||||
- name: Format Go version variable
|
||||
set_fact:
|
||||
go_installed_version: "{{ go_installed_version_shell.stdout }}"
|
||||
|
||||
- name: Remove installed go
|
||||
file:
|
||||
state: absent
|
||||
path: /usr/local/go
|
||||
when: go_installed_version != go_latest_version
|
||||
|
||||
- name: Install Go
|
||||
unarchive:
|
||||
src: https://go.dev/dl/go{{ go_latest_version }}.linux-{{ go_arch }}.tar.gz
|
||||
dest: /usr/local
|
||||
remote_src: yes
|
||||
owner: root
|
||||
group: root
|
||||
when: go_installed_version != go_latest_version
|
||||
|
||||
- name: Configure Go environment
|
||||
template:
|
||||
src: go.profile
|
||||
dest: /etc/profile.d/go.sh
|
||||
owner: root
|
||||
group: root
|
||||
mode: 0644
|
||||
|
||||
- name: Link go binary
|
||||
file:
|
||||
state: link
|
||||
src: /usr/local/go/bin/go
|
||||
dest: /usr/local/bin/go
|
Loading…
Add table
Add a link
Reference in a new issue