Go lang installation with GOPATH & GOROOT
ansible-galaxy install abdennour.golang
N/A
Variable | Description | Default / Choices |
---|---|---|
golang_version |
Go version | (string) 1.14 |
golang_gopath |
Directory path Used to set GOPATH env var | (string) /opt/gopath |
golang_install_dir |
Directory path of software installation | (string) /usr/local/share |
golang_tarball_repo |
Remote Repository from where to download software | (string) https://golang.org/dl |
golang_packages |
List of Go packages to be installed (check example below) | (array) i.e ["github.com/gorilla/mux"] |
golang_users |
List of users to be appended to Go group (example below) | (array) i.e ["ec2-user"] |
golang_group |
System group which owns Golang files | (string) go |
This role publish the variable golang_fact_env
that can be used with the play which import the role.
golang_fact_env
is a good workaround if your hosts does not recognize go
command after installation.
If so, you just need to attach this variable as environment for the specific task
# You import role
# then,
- name: use go command
command: go get github.com/go-redis/redis
environment: "{{ golang_fact_env }}"
N/A
This is how you can use it:
- hosts: all
tasks:
- import_role:
name: abdennour.golang
vars:
golang_version: "1.14"
golang_packages:
- github.com/gorilla/mux
- go.mongodb.org/mongo-driver/mongo
golang_users:
- "{{ ansible_ssh_user }}"
become: yes
BSD