github.com/weaveworks/common@v0.0.0-20230728070032-dd9e68f319d5/tools/config_management/roles/golang-from-tarball/tasks/main.yml (about)

     1  ---
     2  # Set up Go.
     3  
     4  - name: install go
     5    unarchive:
     6      src: 'https://storage.googleapis.com/golang/go{{ go_version }}.linux-{{ {"x86_64": "amd64", "i386": "386"}[ansible_architecture] }}.tar.gz'
     7      remote_src: yes
     8      dest: /usr/local
     9      mode: 0777
    10      creates: /usr/local/go/bin/go
    11  
    12  - name: set go env. vars. and add go to path
    13    blockinfile:
    14      dest: '$HOME/.bashrc'
    15      block: |
    16        export PATH=$PATH:/usr/local/go/bin
    17        export GOPATH=$HOME
    18      state: present
    19      create: yes
    20      mode: 0644
    21    become: '{{ item }}'
    22    with_items:
    23      - true  # Run as root
    24      - false # Run as SSH user
    25  
    26  - name: source ~/.bashrc from ~/.bash_profile
    27    lineinfile:
    28      dest: '$HOME/.bash_profile'
    29      line: '[ -r $HOME/.bashrc ] && source $HOME/.bashrc'
    30      state: present
    31      create: yes
    32      mode: 0644
    33    become: '{{ item }}'
    34    with_items:
    35      - true  # Run as root
    36      - false # Run as SSH user