Bladeren bron

add a role that creates workspace and clones git repos into it

Grega Bremec 3 weken geleden
bovenliggende
commit
4cdc81f3e0
2 gewijzigde bestanden met toevoegingen van 38 en 0 verwijderingen
  1. 9 0
      playbooks/roles/prep-workspace/defaults/main.yml
  2. 29 0
      playbooks/roles/prep-workspace/tasks/main.yml

+ 9 - 0
playbooks/roles/prep-workspace/defaults/main.yml

@@ -0,0 +1,9 @@
+---
+# Defaults for the prep-workspace role.
+
+lab_sku: ad482
+lab_workdir: "{{ ansible_facts['user_dir'] }}/{{ lab_sku | upper }}"
+lab_repos:
+  - url: https://github.com/redhattraining/AD482-apps
+    path: AD482-apps
+...

+ 29 - 0
playbooks/roles/prep-workspace/tasks/main.yml

@@ -0,0 +1,29 @@
+---
+# Creates the lab workdir and clones some git repositories into it.
+#
+# Required variables:
+#
+#   lab_sku:        ad482 (could require a match between install-labs and this role)
+#   lab_workdir:    ansible_facts['user_dir'] + "/" + (lab_sku | upper)
+#   lab_repos:      list of Git repo URLs to clone and their destination paths
+#     - url: foo
+#       path: bar
+#       branch: main
+#
+- name: Ensure lab_workdir exists
+  ansible.builtin.file:
+    path: "{{ lab_workdir }}"
+    state: directory
+    owner: student
+    group: student
+    mode: 0755
+
+- name: Clone the git repo(s) into lab_workdir
+  ansible.builtin.git:
+    repo: "{{ item.url }}"
+    dest: "{{ lab_workdir }}/{{ item.path }}"
+    clone: yes
+    version: "{{ item.branch | default('main') }}"
+  loop: "{{ lab_repos }}"
+
+...