96 lines
2.5 KiB
YAML
96 lines
2.5 KiB
YAML
---
|
|
- name: "Add nodejs {{ nodejs_version }} repositories"
|
|
ansible.builtin.shell: "curl -fsSL https://deb.nodesource.com/setup_{{ nodejs_version }} | sudo bash -"
|
|
become: yes
|
|
become_flags: -i # Execute config f
|
|
|
|
- name: "Install nodejs {{ nodejs_version }}"
|
|
apt:
|
|
pkg:
|
|
- nodejs
|
|
|
|
# Setup node+nvm , check latest release at https://github.com/nvm-sh/nvm
|
|
|
|
- name: Setup Node
|
|
become: yes
|
|
become_flags: -i # Execute config files such as .profile (Ansible uses non-interactive login shells)
|
|
become_user: "{{ nodejs_user }}"
|
|
block:
|
|
- name: Install nvm
|
|
become: yes
|
|
become_user: "{{ nodejs_user }}"
|
|
ansible.builtin.shell: >
|
|
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.40.4/install.sh | bash
|
|
args:
|
|
executable: /bin/bash
|
|
chdir: "$HOME"
|
|
creates: "$HOME/.nvm/nvm.sh"
|
|
|
|
- name: Install node
|
|
become: yes
|
|
become_user: "{{ nodejs_user }}"
|
|
shell: >
|
|
. $HOME/.nvm/nvm.sh && nvm install {{ item }}
|
|
args:
|
|
executable: /bin/bash
|
|
chdir: "$HOME"
|
|
creates: "$HOME/.nvm/versions/{{ item }}"
|
|
loop:
|
|
- "{{ nodejs_nvm_version }}"
|
|
when: nodejs_nvm
|
|
|
|
- name: Install PM2 globally
|
|
npm:
|
|
name: pm2
|
|
global: true
|
|
state: present
|
|
become: true
|
|
become_user: "{{ nodejs_user }}"
|
|
|
|
- name: Add extras
|
|
become: yes
|
|
become_flags: -i # Execute config files such as .profile (Ansible uses non-interactive login shells)
|
|
become_user: "{{ nodejs_user }}"
|
|
|
|
block:
|
|
- name: Install npm modules
|
|
become: yes
|
|
become_user: "{{ nodejs_user }}"
|
|
ansible.builtin.shell: >
|
|
npm install {{ item.name }}
|
|
args:
|
|
executable: /bin/bash
|
|
chdir: "$HOME"
|
|
with_items: "{{ npm_modules }}"
|
|
when: npm_modules is defined
|
|
- name: Enable npm modules
|
|
become: yes
|
|
become_user: "{{ nodejs_user }}"
|
|
ansible.builtin.shell: >
|
|
{{ item.enable }}
|
|
args:
|
|
executable: /bin/bash
|
|
chdir: "$HOME"
|
|
with_items: "{{ npm_modules }}"
|
|
when: npm_modules.item.enable is true
|
|
#sudo npm install --global --unsafe-perm puppeteer
|
|
|
|
- name: Download and install Composer
|
|
shell: curl -sS https://getcomposer.org/installer | php
|
|
args:
|
|
chdir: /usr/src/
|
|
creates: /usr/local/bin/composer
|
|
become: yes
|
|
when: composer
|
|
|
|
- name: Add Composer to global path
|
|
copy:
|
|
dest: /usr/local/bin/composer
|
|
group: root
|
|
mode: '0755'
|
|
owner: root
|
|
src: /usr/src/composer.phar
|
|
remote_src: yes
|
|
become: yes
|
|
when: composer
|