diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000..0ce8a0d --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,57 @@ + +stages: # List of stages for jobs, and their order of execution + - build + - test + - scan + - push + - deploy + - security + +variables: + DOCKER_DRIVER: overlay2 + IMAGE_NAME: $CI_REGISTRY_IMAGE:$CI_COMMIT_SHORT_SHA + GIT_STRATEGY: "fetch" + CS_IMAGE: $CI_REGISTRY_IMAGE:$CI_COMMIT_SHORT_SHA + SECURE_LOG_LEVEL: debug + + +docker_build: + stage: build + image: docker:24 + + script: + - echo $IMAGE_NAME + - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY + - docker build -t $IMAGE_NAME -f . + # - echo "$CI_REGISTRY_IMAGE:$CI_COMMIT_SHA" > docker_images.txt + + artifacts: + expire_in: 1 hour + paths: + - docker_images.txt + only: + - main + - develop + - merge_requests + +include: + - template: Security/Container-Scanning.gitlab-ci.yml + + +container_scanning: + variables: + CS_IMAGE: $CI_REGISTRY_IMAGE:$CI_COMMIT_SHORT_SHA + GIT_STRATEGY: "fetch" + SECURE_LOG_LEVEL: debug + CS_DOCKERFILE_PATH: "python-builder/Dockerfile" + +docker_push: + stage: push + image: docker:24 + services: + - docker:24-dind + variables: + DOCKER_TLS_CERTDIR: "/certs" + script: + - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY + - docker push $IMAGE_NAME