From f7a7e6f967bb2085c9a17df3f74b6e82105a47f1 Mon Sep 17 00:00:00 2001 From: Noah Knegt Date: Thu, 6 Apr 2023 10:24:33 +0200 Subject: [PATCH] Workout the nvm install role Signed-off-by: Noah Knegt --- roles/nvm/tasks/check_installed.yml | 13 +++++++++++++ roles/nvm/tasks/cleanup.yml | 22 ++++++++++++++++++++++ roles/nvm/tasks/download.yml | 16 ++++++++++++++++ roles/nvm/tasks/get_version.yml | 13 +++++++++++++ roles/nvm/tasks/install.yml | 15 +++++++++++++++ roles/nvm/tasks/main.yml | 9 ++++++++- 6 files changed, 87 insertions(+), 1 deletion(-) create mode 100644 roles/nvm/tasks/check_installed.yml create mode 100644 roles/nvm/tasks/cleanup.yml create mode 100644 roles/nvm/tasks/download.yml create mode 100644 roles/nvm/tasks/get_version.yml create mode 100644 roles/nvm/tasks/install.yml diff --git a/roles/nvm/tasks/check_installed.yml b/roles/nvm/tasks/check_installed.yml new file mode 100644 index 0000000..34971a9 --- /dev/null +++ b/roles/nvm/tasks/check_installed.yml @@ -0,0 +1,13 @@ +# =================================================================================================== +# ? ABOUT +# @author : Noah Knegt +# @email : personal@noahknegt.com +# @repo : https://git.noahknegt.com/noah.knegt/ansible-automations +# @createdOn : 06-04-2023 +# @description : This will check if nvm is installed as the latest version. +# =================================================================================================== + +--- +- name: Check nvm version + shell: nvm --version + register: nvm_version diff --git a/roles/nvm/tasks/cleanup.yml b/roles/nvm/tasks/cleanup.yml new file mode 100644 index 0000000..931ba78 --- /dev/null +++ b/roles/nvm/tasks/cleanup.yml @@ -0,0 +1,22 @@ +# =================================================================================================== +# ? ABOUT +# @author : Noah Knegt +# @email : personal@noahknegt.com +# @repo : https://git.noahknegt.com/noah.knegt/ansible-automations +# @createdOn : 06-04-2023 +# @description : This will cleanup the system. +# =================================================================================================== + +--- +- name: Cleanup + file: + path: "{{ item }}" + state: absent + with_items: + - /tmp/nvm-install.sh + - /tmp/nvm-install.log + - /tmp/nvm-install.out + - /tmp/nvm-install.err + - /tmp/nvm-install.debug + - /tmp/nvm-install.info + - /tmp/nvm-install.warn diff --git a/roles/nvm/tasks/download.yml b/roles/nvm/tasks/download.yml new file mode 100644 index 0000000..ec8c827 --- /dev/null +++ b/roles/nvm/tasks/download.yml @@ -0,0 +1,16 @@ +# =================================================================================================== +# ? ABOUT +# @author : Noah Knegt +# @email : personal@noahknegt.com +# @repo : https://git.noahknegt.com/noah.knegt/ansible-automations +# @createdOn : 06-04-2023 +# @description : This will download the nvm install script. +# =================================================================================================== + +--- +- name: Download nvm + get_url: + url: https://raw.githubusercontent.com/nvm-sh/nvm/{{ nvm_latest_version.stdout }}/install.sh + dest: /tmp/nvm-install.sh + mode: 0755 + when: nvm_version.stdout != nvm_latest_version.stdout diff --git a/roles/nvm/tasks/get_version.yml b/roles/nvm/tasks/get_version.yml new file mode 100644 index 0000000..6aa1ccf --- /dev/null +++ b/roles/nvm/tasks/get_version.yml @@ -0,0 +1,13 @@ +# =================================================================================================== +# ? ABOUT +# @author : Noah Knegt +# @email : personal@noahknegt.com +# @repo : https://git.noahknegt.com/noah.knegt/ansible-automations +# @createdOn : 06-04-2023 +# @description : This will get the latest version of nvm. +# =================================================================================================== + +--- +- name: Get the latest nvm version + shell: curl -s https://api.github.com/repos/nvm-sh/nvm/releases/latest | grep tag_name | cut -d '"' -f 4 + register: nvm_latest_version diff --git a/roles/nvm/tasks/install.yml b/roles/nvm/tasks/install.yml new file mode 100644 index 0000000..5e0c9e9 --- /dev/null +++ b/roles/nvm/tasks/install.yml @@ -0,0 +1,15 @@ +# =================================================================================================== +# ? ABOUT +# @author : Noah Knegt +# @email : personal@noahknegt.com +# @repo : https://git.noahknegt.com/noah.knegt/ansible-automations +# @createdOn : 06-04-2023 +# @description : This will install nvm as the latest version. +# =================================================================================================== + +--- +- name: Install nvm + shell: /tmp/nvm-install.sh + args: + creates: /home/noahk/.nvm + when: nvm_version.stdout != nvm_latest_version.stdout diff --git a/roles/nvm/tasks/main.yml b/roles/nvm/tasks/main.yml index f42ff5c..f85affb 100644 --- a/roles/nvm/tasks/main.yml +++ b/roles/nvm/tasks/main.yml @@ -1,2 +1,9 @@ --- -# tasks file for nvm +- import_tasks: check_installed.yml +- import_tasks: get_version.yml + +- import_tasks: download.yml + +- import_tasks: install.yml + +- import_tasks: cleanup.yml