From a50bd9c88e43e0949255ffc902032e5e21178fd1 Mon Sep 17 00:00:00 2001 From: nd Date: Tue, 9 Apr 2019 18:23:19 +0200 Subject: [PATCH] Initial commit --- defaults/main.yml | 1 + tasks/main.yml | 20 ++++++++++++++++++++ tasks/repo.yml | 30 ++++++++++++++++++++++++++++++ 3 files changed, 51 insertions(+) create mode 100644 defaults/main.yml create mode 100644 tasks/main.yml create mode 100644 tasks/repo.yml diff --git a/defaults/main.yml b/defaults/main.yml new file mode 100644 index 0000000..0d27e36 --- /dev/null +++ b/defaults/main.yml @@ -0,0 +1 @@ +git: {} diff --git a/tasks/main.yml b/tasks/main.yml new file mode 100644 index 0000000..227bf2f --- /dev/null +++ b/tasks/main.yml @@ -0,0 +1,20 @@ +- name: install git + apt: + pkg: git + +- debug: var=git + +- name: include repositories (with updates) + include_tasks: + file: repo.yml + apply: + tags: + - update + when: item.value.update|d(true) + with_dict: "{{ git }}" + +- name: include repositories (without updates) + include_tasks: + file: repo.yml + when: not item.value.update|d(true) + with_dict: "{{ git }}" diff --git a/tasks/repo.yml b/tasks/repo.yml new file mode 100644 index 0000000..46033ab --- /dev/null +++ b/tasks/repo.yml @@ -0,0 +1,30 @@ +- set_fact: + repo: "{{ (item.value)|combine(item.value, {'name': item.key}) }}" + +- name: write deploy key + copy: + content: "{{ repo.deploykey }}" + dest: "{{ repo.deploykeypath }}" + mode: 0600 + owner: "{{ repo.user }}" + when: + - repo.deploykey|d(false) + - repo.deploykeypath|d(false) + +- name: write hostkey + debug: msg=a + +- name: clone repositories + become_user: "{{ repo.user|d('root') }}" + become: true + git: + depth: "{{ repo.depth|d(omit) }}" + dest: "{{ repo.path }}" + repo: "{{ repo.url }}" + accept_hostkey: true + update: true + key_file: "{{ repo.deploykeypath|d(None) }}" + version: "{{ repo.version|d('master') }}" + force: "{{ repo.force|d(false) }}" + reference: "{{ repo.reference|d('+refs/heads/*:refs/remotes/origin/*') }}" +