Skip to content
Snippets Groups Projects
.gitlab-ci.yml 3.01 KiB
Newer Older
Mark's avatar
Mark committed
stages:
  - build
  - build-testimages
Mark's avatar
Mark committed
  - application-test
Mark's avatar
Mark committed

Mark's avatar
Mark committed
consent-provider:
Mark's avatar
Mark committed
  stage: build
Mark's avatar
Mark committed
  image:
    name: gcr.io/kaniko-project/executor:debug
    entrypoint: [""]
Mark's avatar
Mark committed
  script:
Mark's avatar
Mark committed
    - echo "{\"auths\":{\"$CI_REGISTRY\":{\"username\":\"$CI_REGISTRY_USER\",\"password\":\"$CI_REGISTRY_PASSWORD\"}}}" > /kaniko/.docker/config.json
    - /kaniko/executor --context ${CI_PROJECT_DIR}/consent_provider --dockerfile ${CI_PROJECT_DIR}/consent_provider/Dockerfile --destination $CI_REGISTRY_IMAGE/consent_provider:${CI_COMMIT_REF_NAME}
Mark's avatar
Mark committed
  only:
    changes:
Mark's avatar
Mark committed
      - consent_provider/**/*
      - .gitlab-ci.yml
Mark's avatar
Mark committed

Mark's avatar
Mark committed
login-provider:
Mark's avatar
Mark committed
  stage: build
Mark's avatar
Mark committed
  image:
    name: gcr.io/kaniko-project/executor:debug
    entrypoint: [""]
Mark's avatar
Mark committed
  script:
Mark's avatar
Mark committed
    - echo "{\"auths\":{\"$CI_REGISTRY\":{\"username\":\"$CI_REGISTRY_USER\",\"password\":\"$CI_REGISTRY_PASSWORD\"}}}" > /kaniko/.docker/config.json
    - /kaniko/executor --context ${CI_PROJECT_DIR}/login_provider --dockerfile ${CI_PROJECT_DIR}/login_provider/Dockerfile --destination $CI_REGISTRY_IMAGE/login_provider:${CI_COMMIT_REF_NAME}
Mark's avatar
Mark committed
  only:
    changes:
Mark's avatar
Mark committed
      - login_provider/**/*
      - .gitlab-ci.yml
login-provider-mock:
  stage: build-testimages
  image:
    name: gcr.io/kaniko-project/executor:debug
    entrypoint: [""]
  script:
    - echo "{\"auths\":{\"$CI_REGISTRY\":{\"username\":\"$CI_REGISTRY_USER\",\"password\":\"$CI_REGISTRY_PASSWORD\"}}}" > /kaniko/.docker/config.json
    - /kaniko/executor --context ${CI_PROJECT_DIR}/login_provider/test/behave --dockerfile ${CI_PROJECT_DIR}/login_provider/test/behave/Dockerfile --destination $CI_REGISTRY_IMAGE/login_provider_mock:${CI_COMMIT_REF_NAME} --build-arg baseimage=$CI_REGISTRY_IMAGE/login_provider:${CI_COMMIT_REF_NAME}
  only:
    changes:
      - login_provider/**/*
      - .gitlab-ci.yml

Mark's avatar
Mark committed
login-provider-test:
  stage: build-testimages
Mark's avatar
Mark committed
  image:
    name: gcr.io/kaniko-project/executor:debug
    entrypoint: [""]
Mark's avatar
Mark committed
  script:
Mark's avatar
Mark committed
    - echo "{\"auths\":{\"$CI_REGISTRY\":{\"username\":\"$CI_REGISTRY_USER\",\"password\":\"$CI_REGISTRY_PASSWORD\"}}}" > /kaniko/.docker/config.json
    - /kaniko/executor --context ${CI_PROJECT_DIR}/login_provider/test --dockerfile ${CI_PROJECT_DIR}/login_provider/test/Dockerfile --destination $CI_REGISTRY_IMAGE/login_provider_ci_test:${CI_COMMIT_REF_NAME}
Mark's avatar
Mark committed
  only:
    changes:
Mark's avatar
Mark committed
      - login_provider/**/*
      - .gitlab-ci.yml
Mark's avatar
Mark committed

behave-login:
  stage: application-test
  variables:
    TESTUSER_USERNAME: "admin"
    TESTUSER_EMAIL: "admin@example.net"
    TESTUSER_PASSWORD: "password"
Mark's avatar
Mark committed
  services:
    - name: ${CI_REGISTRY_IMAGE}/login_provider_mock:${CI_COMMIT_REF_NAME}
Mark's avatar
Mark committed
      alias: login_provider
  image: ${CI_REGISTRY_IMAGE}/login_provider_ci_test:${CI_COMMIT_REF_NAME}
  script:
    - cd login_provider/test/behave/
    - python3 -m behave -D headless=True -D url=http://login_provider:5000 -D username=$TESTUSER_USERNAME -D password=$TESTUSER_PASSWORD
Mark's avatar
Mark committed
  artifacts:
    paths:
      - login_provider/test/behave/screenshots/
    expire_in: 1 month
    when: on_failure
  only:
    changes:
Mark's avatar
Mark committed
      - login_provider/**/*
      - .gitlab-ci.yml