From b773ef1952281ad61a96dbe8be151fcd82a82e20 Mon Sep 17 00:00:00 2001 From: fejao <mail@fejao.de> Date: Wed, 12 Feb 2025 10:09:46 +0100 Subject: [PATCH] setting ci-cd --- .gitlab-ci.yml | 107 ++++++++----------------------------------------- 1 file changed, 17 insertions(+), 90 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 7356b74..9c0221a 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -7,29 +7,20 @@ ### variables: AUTHOR: fejao - IMAGE_NAME_SYNTAX: python:3.10.15-bullseye + # IMAGE_NAME_SYNTAX: python:3.10.15-bullseye IMAGE_NAME_LINT: python:3.10.15-bullseye # IMAGE_NAME_MOLECULE: geerlingguy/docker-ubuntu2204-ansible:latest PATH_ENV_DIR: "/builds/fejao/c3infodesk-deployment-role-test" PATH_PYTHON_REQ_FILE: "/builds/fejao/c3infodesk-deployment-role-test/ci-cd/python_requirements.txt" - PATH_INVENTORIES: "/builds/fejao/c3infodesk-deployment-role-test/ci-cd/hosts" + # PATH_INVENTORIES: "/builds/fejao/c3infodesk-deployment-role-test/ci-cd/hosts" PATH_PLAYBOOK: "/builds/fejao/c3infodesk-deployment-role-test/ci-cd/playbook_role_test.yml" - # INVENTORIES_PATH: "inventories/hosts" - # PLAYBOOK_PATH_FOR_ROLE_TEST: "ci-cd/01_test.yml" - # PLAYBOOK_PATH_FOR_ROLE_DEPENDENCIES: "ci-cd/02_dependencies.yml" - # PLAYBOOK_PATH_FOR_ROLE_CLONE_REPOSITORIES: "ci-cd/03_clone_repositories.yml" - # PLAYBOOK_PATH_FOR_ROLE_DOCKER_IMAGES: "ci-cd/04_docker_images.yml" - # PLAYBOOK_PATH_FOR_ROLE_DOCKER_CONTAINERS: "ci-cd/05_docker_containers.yml" - # PLAYBOOK_PATH_FOR_ROLE_OH_MY_BASH: "ci-cd/06_oh_my_bash.yml" - ### ### STAGES ### stages: - test-debug - yamllint - # - downstream_role_test - upstream-trigger - syntax-check - lint-tests @@ -38,7 +29,7 @@ stages: ### ### SCRIPTS ### -.before_syntax_n_lint: &before_syntax_n_lint +.install_dependencies: &install_dependencies # Install python and it's requirements - apt-get update && apt-get install -y python3-pip && apt-get clean && rm -rf /var/lib/apt/lists/* - pip3 install -r $PYTHON_REQ_FILE_PATH @@ -46,19 +37,6 @@ stages: ### See https://github.com/ansible/ansible/pull/42142/files - chmod 700 $PATH_ENV_DIR -.run_syntax_check: &run_syntax_check - - echo "ansible-playbook --syntax-check -i $PATH_INVENTORIES $PLAYBOOK_PATH" - - pwd - - ls -la - - cd .. - - pwd - - ls -la - # - ansible-playbook --syntax-check -i roles/c3infodesk-deployment-role-test/ci-cd/hosts roles/c3infodesk-deployment-role-test/ci-cd/playbook_role_test.yml - -.run_lint: &run_lint - # - ansible-lint $ROLE_PATH - - ansible-lint $PLAYBOOK_PATH - ### ### DEBUG-TEST ### @@ -81,79 +59,28 @@ yamllint-test: PYTHON_REQ_FILE_PATH: $PATH_PYTHON_REQ_FILE PLAYBOOK_PATH: $PATH_PLAYBOOK before_script: - - *before_syntax_n_lint + - *install_dependencies script: - echo "This is the 'yamllint' test from the 'test' role" - yamllint . +# ### +# ### WORKS +# ### +# trigger-pipeline: +# stage: upstream-trigger +# variables: +# RUN_UPSTREAM_FOR_ROLE_TEST: true +# trigger: +# project: fejao/c3infodesk-deployment +# branch: Adding_ci_cd_triggers +# strategy: depend + trigger-pipeline: stage: upstream-trigger variables: - RUN_SYNTAX_FOR_ROLE_TEST: true - # trigger: - # project: fejao/c3infodesk-deployment - #### + RUN_UPSTREAM_FOR_ROLE_TEST: true trigger: project: fejao/c3infodesk-deployment branch: Adding_ci_cd_triggers strategy: depend - #### - # trigger: - # include: - # - project: fejao/c3infodesk-deployment - # ref: Adding_ci_cd_triggers - # file: 'ci-cd/templates/syntax-ckecks.yml' - -### -### STAGE-SYNTAX-CHECK -### -# syntax-test: -# stage: syntax-check -# image: $IMAGE_NAME_SYNTAX -# variables: -# PYTHON_REQ_FILE_PATH: $PATH_PYTHON_REQ_FILE -# PLAYBOOK_PATH: $PATH_PLAYBOOK -# before_script: -# - *before_syntax_n_lint -# script: -# - echo "Running ansible-playbook --syntax-check tests at the role-> 'test'" -# # - *run_syntax_check - -### -### STAGE-LINT-TESTS -### -# lint-test: -# stage: lint-tests -# image: $IMAGE_NAME_LINT -# variables: -# PYTHON_REQ_FILE_PATH: $PATH_PYTHON_REQ_FILE -# PLAYBOOK_PATH: $PATH_PLAYBOOK -# ROLE_PATH: $PLAYBOOK_PATH_FOR_ROLE_TEST -# before_script: -# - *before_syntax_n_lint -# script: -# - echo "Running ansible-lint tests at the role-> 'test'" -# - *run_lint - -### -### STAGE-MOLECULE --> At the moment, running DIND (docker in docker) at this instance is disable :( -### -# molecule-test: -# stage: molecule -# image: $IMAGE_NAME_MOLECULE -# ### AVAILABLE TAGS -# # https://docs.gitlab.com/ee/ci/runners/hosted_runners/linux.html#machine-types-available-for-linux---x86-64 -# tags: -# - saas-linux-small-amd64 -# # before_script: -# # # - apk add --no-cache python3 py3-pip -# # # - rm /usr/lib/python*/EXTERNALLY-MANAGED -# # # - python3 -m ensurepip -# # - pip3 install ansible ansible-lint molecule molecule-docker -# # - pip3 install --user "molecule-plugins[docker]" -# script: -# - echo "Running molecule tests at the role-> 'test'" -# - docker ps -a -# # - cd roles/test -# # - molecule test -# allow_failure: false -- GitLab