diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 478c977402c9edc31ae0fc30974318fcb26dacdf..841412097e56de936ea409d5eb7b2a7a0130bd28 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,29 +1,16 @@ image: python:3.10.15-bullseye -# image: ansible:latest variables: - TEST_VAR_BUILD: "Building the application..." - DOC_PATH_TMP: tmp_docs - DOC_NAME: c3InfoDesk Printing - DOC_AUTHOR: fejao - DOC_VERSION: 1.0.0 - DOC_LANGUAGE: english - # DOC_RETENTION: 1 day # <--- DON'T WORK :( + AUTHOR: fejao ##### ##### ##### INVENTORIES_PATH: "inventories/hosts" - # PLAYBOOK_NAME_FOR_ROLE_TEST: "playbook_example_01_test.yml" - PLAYBOOK_NAME_FOR_ROLE_TEST: "playbooks/ci-cd/01_test.yml" - PLAYBOOK_NAME_FOR_ROLE_DEPENDENCIES: "playbook_example_02_dependencies.yml" - PLAYBOOK_NAME_FOR_ROLE_CLONE_REPOSITORIES: "playbook_example_03_clone_repositories.yml" - PLAYBOOK_NAME_FOR_ROLE_DOCKER_IMAGES: "playbook_example_04_docker_images.yml" - PLAYBOOK_NAME_FOR_ROLE_DOCKER_CONTAINERS: "playbook_example_05_docker_containers.yml" - # PLAYBOOK_NAME_FOR_ROLE_TEST: "playbook_example_01_test.yml" - # PLAYBOOK_NAME_FOR_ROLE_DEPENDENCIES: "playbook_example_02_dependencies.yml" - # PLAYBOOK_NAME_FOR_ROLE_CLONE_REPOSITORIES: "playbook_example_03_clone_repositories.yml" - # PLAYBOOK_NAME_FOR_ROLE_DOCKER_IMAGES: "playbook_example_04_docker_images.yml" - # PLAYBOOK_NAME_FOR_ROLE_DOCKER_CONTAINERS: "playbook_example_05_docker_containers.yml" + PLAYBOOK_PATH_FOR_ROLE_TEST: "playbooks/ci-cd/01_test.yml" + PLAYBOOK_PATH_FOR_ROLE_DEPENDENCIES: "playbooks/ci-cd/02_dependencies.yml" + PLAYBOOK_PATH_FOR_ROLE_CLONE_REPOSITORIES: "playbooks/ci-cd/03_clone_repositories.yml" + PLAYBOOK_PATH_FOR_ROLE_DOCKER_IMAGES: "playbooks/ci-cd/04_docker_images.yml" + PLAYBOOK_PATH_FOR_ROLE_DOCKER_CONTAINERS: "playbooks/ci-cd/05_docker_containers.yml" stages: - debug @@ -62,14 +49,52 @@ systax-check-test: - apt-get update && apt-get install -y python3-pip && apt-get clean && rm -rf /var/lib/apt/lists/* - pip3 install -r requirements.txt script: - - echo "Running ansible-lint tests at the role-> 'test'" - - ansible-playbook --syntax-check -i $INVENTORIES_PATH $PLAYBOOK_NAME_FOR_ROLE_TEST - # - ansible-playbook --systax-check -i inventories/hosts $PLAYBOOK_NAME_FOR_ROLE_TEST - # - ansible-playbook --syntax-check -i inventories/hosts playbooks/ci-cd/01_test.yml + - echo "Running ansible-playbook --syntax-check tests at the role-> 'test'" + - ansible-playbook --syntax-check -i $INVENTORIES_PATH $PLAYBOOK_PATH_FOR_ROLE_TEST + allow_failure: false + +systax-check-dependencies: + stage: syntax-check + before_script: + - apt-get update && apt-get install -y python3-pip && apt-get clean && rm -rf /var/lib/apt/lists/* + - pip3 install -r requirements.txt + script: + - echo "Running ansible-playbook --syntax-check tests at the role-> 'dependencies'" + - ansible-playbook --syntax-check -i $INVENTORIES_PATH $PLAYBOOK_PATH_FOR_ROLE_DEPENDENCIES + allow_failure: false + +systax-check-clone-repositories: + stage: syntax-check + before_script: + - apt-get update && apt-get install -y python3-pip && apt-get clean && rm -rf /var/lib/apt/lists/* + - pip3 install -r requirements.txt + script: + - echo "Running ansible-playbook --syntax-check tests at the role-> 'clone_repositories'" + - ansible-playbook --syntax-check -i $INVENTORIES_PATH $PLAYBOOK_PATH_FOR_ROLE_CLONE_REPOSITORIES + allow_failure: false + +systax-check-docker-images: + stage: syntax-check + before_script: + - apt-get update && apt-get install -y python3-pip && apt-get clean && rm -rf /var/lib/apt/lists/* + - pip3 install -r requirements.txt + script: + - echo "Running ansible-playbook --syntax-check tests at the role-> 'docker_images'" + - ansible-playbook --syntax-check -i $INVENTORIES_PATH $PLAYBOOK_PATH_FOR_ROLE_DOCKER_IMAGES + allow_failure: false + +systax-check-docker-containers: + stage: syntax-check + before_script: + - apt-get update && apt-get install -y python3-pip && apt-get clean && rm -rf /var/lib/apt/lists/* + - pip3 install -r requirements.txt + script: + - echo "Running ansible-playbook --syntax-check tests at the role-> 'docker_containers'" + - ansible-playbook --syntax-check -i $INVENTORIES_PATH $PLAYBOOK_PATH_FOR_ROLE_DOCKER_CONTAINERS allow_failure: false ### -### TESTS +### LINT-TESTS ### role-test: stage: lint-tests @@ -78,7 +103,7 @@ role-test: - pip3 install -r requirements.txt script: - echo "Running ansible-lint tests at the role-> 'test'" - - ansible-lint $PLAYBOOK_NAME_FOR_ROLE_TEST + - ansible-lint $PLAYBOOK_PATH_FOR_ROLE_TEST allow_failure: false role-dependencies: @@ -88,7 +113,7 @@ role-dependencies: - pip3 install -r requirements.txt script: - echo "Running ansible-lint tests at the role-> 'dependencies'" - - ansible-lint $PLAYBOOK_NAME_FOR_ROLE_DEPENDENCIES + - ansible-lint $PLAYBOOK_PATH_FOR_ROLE_DEPENDENCIES allow_failure: false role-clone-repositories: @@ -98,7 +123,7 @@ role-clone-repositories: - pip3 install -r requirements.txt script: - echo "Running ansible-lint tests at the role-> 'clone_repositories'" - - ansible-lint $PLAYBOOK_NAME_FOR_ROLE_CLONE_REPOSITORIES + - ansible-lint $PLAYBOOK_PATH_FOR_ROLE_CLONE_REPOSITORIES allow_failure: false role-docker-images: @@ -108,7 +133,7 @@ role-docker-images: - pip3 install -r requirements.txt script: - echo "Running ansible-lint tests at the role-> 'docker_images'" - - ansible-lint $PLAYBOOK_NAME_FOR_ROLE_DOCKER_IMAGES + - ansible-lint $PLAYBOOK_PATH_FOR_ROLE_DOCKER_IMAGES allow_failure: false role-docker-containers: @@ -118,5 +143,5 @@ role-docker-containers: - pip3 install -r requirements.txt script: - echo "Running ansible-lint tests at the role-> 'docker_containers'" - - ansible-lint $PLAYBOOK_NAME_FOR_ROLE_DOCKER_CONTAINERS + - ansible-lint $PLAYBOOK_PATH_FOR_ROLE_DOCKER_CONTAINERS allow_failure: false