久しぶりにAnsibleネタですが、Node.jsをAnsibleでインストールする場合、nvmモジュールとかあるのかとググってみたところ、そんなものはなく(無念)結局shellモジュールでやるしかないみたいです。(commandモジュールはダメ)簡単に作ってみました。
■leonidas/ansible-nvm
https://github.com/leonidas/ansible-nvm/blob/master/tasks/main.yml
これcommandモジュール使ってるな….(ちょい参考)
■main.yml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
- name: Download nvm install.sh get_url: url: https://raw.githubusercontent.com/creationix/nvm/v0.29.0/install.sh dest: /var/tmp mode: 0755 - name: install.sh root become_user: root shell: /var/tmp/install.sh - name: install.sh adachin become_user: adachin shell: /var/tmp/install.sh - name: source nvm.sh root become_user: root shell: source /root/.nvm/nvm.sh && nvm install v6.11 && nvm alias default 6.11 - name: source nvm.sh adachin become_user: adachin shell: source /home/adachin/.nvm/nvm.sh && nvm install v6.11 && nvm alias default 6.11 |
冪等性を考えるとあまり使いたくないですが。。。これが一番しっくりしました!とりあえずroot,adachinユーザでnvmを使えるようにして、デフォルトで6.11を使えるようにしたくらい。
■まとめ
他にやり方求む!バージョンは変数にしたほうがいいね(メンテしやすい)
参考
http://docs.ansible.com/ansible/shell_module.html
0件のコメント