From db76f640da95ee1a5ebb2989da3d1c28eb738bc5 Mon Sep 17 00:00:00 2001 From: Viswamedha Nalabotu Date: Sat, 17 Jan 2026 20:18:31 +0000 Subject: [PATCH] Added Gitlab CI --- .gitlab-ci.yml | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 .gitlab-ci.yml diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000..966a8cb --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,40 @@ +stages: + - test + - build + +run_tests: + stage: test + image: python:3.12 + variables: + DJANGO_SECRET_KEY: 'random_secret_key_for_ci' + before_script: + - python -m pip install --upgrade pip + - pip install --no-cache-dir -r requirements/base.txt + script: + - python manage.py test --verbosity=2 + rules: + - if: $CI_COMMIT_BRANCH == "main" + +build_and_push: + stage: build + image: docker:24.0.7 + variables: + DOCKER_HOST: tcp://docker:2375 + DOCKER_TLS_CERTDIR: '' + services: + - name: docker:24.0.7-dind + alias: docker + command: ['--tls=false', '--host=tcp://0.0.0.0:2375'] + script: + - echo "Waiting for Docker daemon..." + - for i in $(seq 1 30); do docker info && break || sleep 1; done + - echo "Logging in to registry ${REGISTRY_URL}" + - echo "$REGISTRY_PASSWORD" | docker login -u "$REGISTRY_USERNAME" --password-stdin "$REGISTRY_URL" + - export IMAGE_NAME="${REGISTRY_URL}/${IMAGE_PATH}:${IMAGE_TAG}" + - echo "Building image ${IMAGE_NAME}" + - docker build -t "$IMAGE_NAME" -f ./compose/prod/python/Dockerfile --no-cache . + - echo "Pushing image ${IMAGE_NAME}" + - docker push "$IMAGE_NAME" + rules: + - if: $CI_COMMIT_TAG + when: always