Skip to content
Snippets Groups Projects
Select Git revision
  • afb08d0c3d8ea256ecadb61dd72548f98dec8fbc
  • master default protected
2 results

.gitlab-ci.yml

Blame
  • .gitlab-ci.yml 2.64 KiB
    ---
    # A pipeline is composed of independent jobs that run scripts, grouped into stages.
    # Stages run in sequential order, but jobs within stages run in parallel.
    #
    # For more information, see: https://docs.gitlab.com/ee/ci/yaml/index.html#stages
    
    stages:          # List of stages for jobs, and their order of execution
      - test
    
    default:
      before_script:
        - source /opt/molecule/bin/activate
        - ansible --version
        - molecule --version
        - echo "CURRENT PATH= '$(pwd)'"
        # make sure that Ansible Vaults are present and can be decrypted
        - echo "${VAULT_SERVER_HARDENING}" > ${ANSIBLE_VAULT_PASSWORD_FILE}
        - export ANSIBLE_VAULT_PASSWORD_FILE="../../${ANSIBLE_VAULT_PASSWORD_FILE}"
        - tree
        - rm -rf ../ansible_vaults/
        - git clone https://gitlab+deploy-token-25:${VAULT_ACCESS_TOKEN}@git.slub-dresden.de/slub-referat-2-3/ansible_vaults.git ../ansible_vaults/;
    variables:
      SCENARIO: "default"
      # ANSIBLE_VAULT_PASSWORD_FILE: "molecule/lza_server_hardening.pass"
      ANSIBLE_VAULT_PASSWORD_FILE: "../lza_server_hardening.pass"
      ANSIBLE_FORCE_COLOR: 'true'
      PY_COLORS: '1'
    
    test-job-debian:
      stage: test
      tags:
        - "shell"
      variables:
        SCENARIO: "default"
      script:
        # run Molecule tests
        - molecule syntax --scenario-name ${SCENARIO}
        # We cannot use `molecule lint` anymore because:
        # - https://github.com/ansible-community/molecule/pull/3802 "Remove lint command"
        # - https://github.com/ansible-community/molecule/discussions/3825#discussioncomment-4908366
        - yamllint --strict --format colored ./
        - ansible-lint --format full --profile production --strict --force-color ./
        - molecule create --scenario-name ${SCENARIO}
        - molecule converge --scenario-name ${SCENARIO}
        - molecule idempotence --scenario-name ${SCENARIO}
        # - molecule verify --scenario-name ${SCENARIO}
        - molecule destroy --scenario-name ${SCENARIO}
    
    test-job-rhel:
      stage: test
      tags:
        - "shell"
      variables:
        SCENARIO: "virtualbox_rocky8"
      script:
        # run Molecule tests
        - molecule syntax --scenario-name ${SCENARIO}
        # We cannot use `molecule lint` anymore because:
        # - https://github.com/ansible-community/molecule/pull/3802 "Remove lint command"
        # - https://github.com/ansible-community/molecule/discussions/3825#discussioncomment-4908366
        - yamllint --strict --format colored ./
        - ansible-lint --format full --profile production --strict --force-color ./
        - molecule create --scenario-name ${SCENARIO}
        - molecule converge --scenario-name ${SCENARIO}
        - molecule idempotence --scenario-name ${SCENARIO}
        # - molecule verify --scenario-name ${SCENARIO}
        - molecule destroy --scenario-name ${SCENARIO}