diff --git a/defaults/main.yml b/defaults/main.yml index 9bc853f42f21773ce0a07d59323bcce0334bb5f8..69c4150941e638cb3d738bd7f9a87c77c5853b20 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -1,6 +1,30 @@ --- # defaults file for docker-images -c3infodesk_printer_debug_create_image_cups: false -c3infodesk_printer_debug_create_image_app: false -c3infodesk_printer_debug_create_image_proxy: false +### +### roles/clone_repositories +### +c3infodesk_printer_clone_printer: true + +c3infodesk_deployment_repository_url: "https://git.cccv.de/fejao/c3infodesk-printer.git" +c3infodesk_deployment_repository_dest_folder: "Coding/c3infodesk-printer" +c3infodesk_deployment_repository_branch_change: true +c3infodesk_deployment_repository_branch_name: "example_printer_test_branch" + +### +### roles/docker-images +### +c3infodesk_deployment_paht_docker_folder: "Coding/c3infodesk-printer/docker" + +c3infodesk_deployment_docker_images_list: + - docker_file_path: docker/cups/Dockerfile + docker_image_name: c3printing-cups + docker_image_tag: latest + + - docker_file_path: docker/app/Dockerfile + docker_image_name: c3printing-app + docker_image_tag: latest + + - docker_file_path: docker/proxy/Dockerfile + docker_image_name: c3printing-proxy + docker_image_tag: latest diff --git a/meta/main.yml b/meta/main.yml index 55c61fab1fd90830ce96c0c62756283e24bf6d57..769dd19e295ba4a3b28b73dcb1402feb6b0ed123 100644 --- a/meta/main.yml +++ b/meta/main.yml @@ -9,11 +9,12 @@ galaxy_info: min_ansible_version: '2.10' galaxy_tags: [] -# dependencies: [] +dependencies: [] # List your role dependencies here, one per line. Be sure to remove the '[]' above, # if you add dependencies to this list. -dependencies: - # - role: dependencies - # - role: clone_repositories - - role: c3infodesk-deployment-role-dependencies - - role: c3infodesk-deployment-role-clone-repositories +# dependencies: +# # - role: dependencies +# # - role: clone_repositories +# #### +# - role: c3infodesk-deployment-role-dependencies +# - role: c3infodesk-deployment-role-clone-repositories diff --git a/tasks/build_docker_image.yml b/tasks/build_docker_image.yml new file mode 100644 index 0000000000000000000000000000000000000000..1f5d7b5bf6a8d68e91c92732f2dde08aba1135f6 --- /dev/null +++ b/tasks/build_docker_image.yml @@ -0,0 +1,35 @@ +--- +# Creates the docker image + +- name: Check if the image already exists on the system + community.docker.docker_image_info: + name: "{{ docker_image_name }}:{{ docker_image_tag }}" + register: result_check_image + +- name: Check which repository to be cloned. + ansible.builtin.debug: + msg: > + {% if result_check_image.images | length > 0 %} + "Image for '{{ docker_image_name }}' already exixts on the target..." + {% else %} + "Image for '{{ docker_image_name }}' DONT exixts on the target, Building the image..." + {% endif %} + +- name: Build the docker image + ansible.builtin.command: + cmd: docker build . -t "{{ docker_image_name }}":"{{ docker_image_tag }}" -f "{{ docker_file_path }}" + args: + # chdir: "{{ c3infodesk_deployment_dest_folder }}" + chdir: "{{ c3infodesk_deployment_repository_dest_folder }}" + register: build_img_result + when: result_check_image.images | length <= 0 + changed_when: build_img_result.rc != 0 + +- name: Check if image was created. + ansible.builtin.debug: + msg: > + {% if build_img_result is defined %} + "Building image for '{{ docker_image_name }}' was created..." + {% else %} + "Building image for '{{ docker_image_name }}' was skipped..." + {% endif %} diff --git a/tasks/docker_image_app.yml b/tasks/docker_image_app.yml deleted file mode 100644 index 662606de9653f0694c94c66a4bdd31a8e6b5d88f..0000000000000000000000000000000000000000 --- a/tasks/docker_image_app.yml +++ /dev/null @@ -1,28 +0,0 @@ ---- -# Creates the c3infodesk-app docker image - -- name: APP | Check if the image already exists on the system - community.docker.docker_image_info: - name: "{{ c3infodesk_printer_docker_img_app_name }}" - register: result_check_image - -- name: APP | Check image exists answer - ansible.builtin.debug: - msg: "Image already exists on target" - when: result_check_image.images | length > 0 - -- name: APP | Build the docker image - ansible.builtin.command: - cmd: docker build . -t "{{ c3infodesk_printer_docker_img_app_name }}":"{{ c3infodesk_printer_docker_img_app_tag }}" -f docker/app/Dockerfile - args: - chdir: "{{ c3infodesk_printer_folder }}" - register: build_img_result - when: result_check_image.images | length <= 0 - changed_when: build_img_result.rc != 0 - -- name: APP | DEBUG -> Output from creating the docker image - ansible.builtin.debug: - msg: "{{ build_img_result }}" - when: - - c3infodesk_printer_debug_create_image_app | bool - - build_img_result is defined diff --git a/tasks/docker_image_cups.yml b/tasks/docker_image_cups.yml deleted file mode 100644 index fdc5ac73732255dae165543b60f6849bf00784f4..0000000000000000000000000000000000000000 --- a/tasks/docker_image_cups.yml +++ /dev/null @@ -1,33 +0,0 @@ ---- -# Creates the c3infodesk-cups docker image - -### -### LINKS -### -# https://docs.ansible.com/ansible/latest/collections/community/docker/docker_image_module.html - -- name: CUPS | Check if the image already exists on the system - community.docker.docker_image_info: - name: "{{ c3infodesk_printer_docker_img_cups_name }}" - register: result_check_image - -- name: CUPS | Check image exists answer - ansible.builtin.debug: - msg: "Image already exists on target" - when: result_check_image.images | length > 0 - -- name: CUPS | Build the docker image - ansible.builtin.command: - cmd: docker build . -t "{{ c3infodesk_printer_docker_img_cups_name }}":"{{ c3infodesk_printer_docker_img_cups_tag }}" -f docker/cups/Dockerfile - args: - chdir: "{{ c3infodesk_printer_folder }}" - register: build_img_result - when: result_check_image.images | length <= 0 - changed_when: build_img_result.rc != 0 - -- name: CUPS | DEBUG -> Output from creating the docker image - ansible.builtin.debug: - msg: "{{ build_img_result }}" - when: - - c3infodesk_printer_debug_create_image_cups | bool - - build_img_result is defined diff --git a/tasks/docker_image_proxy.yml b/tasks/docker_image_proxy.yml deleted file mode 100644 index 8cb215c0c06b9b59d02a243e86de958fb2c5673f..0000000000000000000000000000000000000000 --- a/tasks/docker_image_proxy.yml +++ /dev/null @@ -1,28 +0,0 @@ ---- -# Creates the c3infodesk-proxy docker image - -- name: PROXY | Check if the image already exists on the system - community.docker.docker_image_info: - name: "{{ c3infodesk_printer_docker_img_proxy_name }}" - register: result_check_image - -- name: PROXY | Check image exists answer - ansible.builtin.debug: - msg: "Image already exists on target" - when: result_check_image.images | length > 0 - -- name: PROXY | Build the docker image - ansible.builtin.command: - cmd: docker build . -t "{{ c3infodesk_printer_docker_img_proxy_name }}":"{{ c3infodesk_printer_docker_img_proxy_tag }}" -f docker/proxy/Dockerfile - args: - chdir: "{{ c3infodesk_printer_folder }}" - register: build_img_result - when: result_check_image.images | length <= 0 - changed_when: build_img_result.rc != 0 - -- name: PROXY | DEBUG -> Output from creating the docker image - ansible.builtin.debug: - msg: "{{ build_img_result }}" - when: - - c3infodesk_printer_debug_create_image_cups | bool - - build_img_result is defined diff --git a/tasks/main.yml b/tasks/main.yml index ba59881dd453396388c6dbbcba514824ee97b8cc..b07a0a0b89ec2a87c53ffd246cabdc13f6f984c9 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -1,11 +1,11 @@ --- # tasks file for docker-images -- name: Create the docker image for cups - ansible.builtin.import_tasks: docker_image_cups.yml - -- name: Create the docker image for app - ansible.builtin.import_tasks: docker_image_app.yml - -- name: Create the docker image for proxy - ansible.builtin.import_tasks: docker_image_proxy.yml +- name: Including the tasks for building the images. + ansible.builtin.include_tasks: build_docker_image.yml + vars: + c3infodesk_deployment_docker_image_info: "{{ item }}" + docker_file_path: "{{ item.docker_file_path }}" + docker_image_name: "{{ item.docker_image_name }}" + docker_image_tag: "{{ item.docker_image_tag }}" + with_items: "{{ c3infodesk_deployment_docker_images_list }}"