Browse Source

Added role to simply install nodejs. Debian packages seem to be horribly broken

Till Klocke 9 years ago
parent
commit
fcf70a4b4b

+ 1 - 0
galaxy-roles/laggyluke.nodejs/.gitignore

@@ -0,0 +1 @@
+/meta/.galaxy_install_info

+ 4 - 0
galaxy-roles/laggyluke.nodejs/README.md

@@ -0,0 +1,4 @@
+nodejs
+======
+
+This Ansible role installs Node.JS.

+ 4 - 0
galaxy-roles/laggyluke.nodejs/defaults/main.yml

@@ -0,0 +1,4 @@
+nodejs:
+  devel: false
+  add_node_modules_bin_to_path: false
+  npmrc: {}

+ 17 - 0
galaxy-roles/laggyluke.nodejs/meta/main.yml

@@ -0,0 +1,17 @@
+---
+galaxy_info:
+  author: George Miroshnykov
+  description: install Node.JS
+  min_ansible_version: 1.4
+  version: 0.1.0
+  platforms:
+  - name: Ubuntu
+    versions:
+    - all
+  - name: Debian
+    versions:
+    - wheezy
+  categories:
+  - system
+  - web
+dependencies: []

+ 48 - 0
galaxy-roles/laggyluke.nodejs/tasks/main.yml

@@ -0,0 +1,48 @@
+---
+- name: install required packages
+  sudo: true
+  apt: pkg={{ item }}
+  with_items:
+  - python-pycurl
+  - apt-transport-https
+
+- name: add nodesource apt key
+  sudo: true
+  apt_key: >
+    id=68576280
+    url=https://deb.nodesource.com/gpgkey/nodesource.gpg.key
+    state=present
+
+- name: add nodesource apt repository
+  sudo: true
+  template: >
+    src=nodesource.list.j2
+    dest=/etc/apt/sources.list.d/nodesource.list
+    owner=root
+    group=root
+    mode=644
+  register: result
+
+- name: apt-get update
+  sudo: true
+  apt: update_cache=yes
+  when: result | changed
+
+- name: install package
+  sudo: true
+  apt: pkg=nodejs
+
+- name: generate ~/.npmrc
+  template: >
+    src=npmrc.j2
+    dest=~/.npmrc
+    mode=0644
+  when: nodejs.npmrc|length > 0
+
+- name: add `./node_modules/.bin` to PATH
+  sudo: true
+  copy: >
+    content='export PATH="./node_modules/.bin:$PATH"'
+    dest=/etc/profile.d/nodejs_path.sh
+    mode=0644
+  when: nodejs.add_node_modules_bin_to_path

+ 7 - 0
galaxy-roles/laggyluke.nodejs/templates/nodesource.list.j2

@@ -0,0 +1,7 @@
+{% if not nodejs.devel %}
+deb https://deb.nodesource.com/node {{ ansible_distribution_release }} main
+deb-src https://deb.nodesource.com/node {{ ansible_distribution_release }} main
+{% else %}
+deb https://deb.nodesource.com/node-devel {{ ansible_distribution_release }} main
+deb-src https://deb.nodesource.com/node-devel {{ ansible_distribution_release }} main
+{% endif %}

+ 3 - 0
galaxy-roles/laggyluke.nodejs/templates/npmrc.j2

@@ -0,0 +1,3 @@
+{% for k, v in nodejs.npmrc.iteritems() %}
+{{ k }} = {{ v }}
+{% endfor %}

+ 3 - 0
requirements.yml

@@ -16,4 +16,7 @@
   path: galaxy-roles
 
 - src: jdauphant.nginx
+  path: galaxy-roles
+
+- src: laggyluke.nodejs
   path: galaxy-roles