Files
rss-proxy/.gitlab-ci.yml
bacon 99133daeed update rss_proxy.py
* removed print
2025-03-08 20:36:50 +03:00

54 lines
1.4 KiB
YAML
Executable File

workflow:
rules:
- changes:
- proxy/**/*
- Dockerfile
- requirements.txt
stages:
- build
- test
- push
build:
stage: build
script:
- docker build -t $CI_REGISTRY/$CI_PROJECT_PATH:$CI_COMMIT_REF_SLUG .
- docker tag $CI_REGISTRY/$CI_PROJECT_PATH:$CI_COMMIT_REF_SLUG $CI_REGISTRY/$CI_PROJECT_PATH:$CI_COMMIT_SHORT_SHA
- docker tag $CI_REGISTRY/$CI_PROJECT_PATH:$CI_COMMIT_REF_SLUG $CI_REGISTRY/$CI_PROJECT_PATH:latest
test:
needs:
- build
stage: test
before_script:
- apk add --no-cache curl
script:
- echo "Running container to test image"
- docker run -d --rm --name test_container $CI_REGISTRY/$CI_PROJECT_PATH:$CI_COMMIT_REF_SLUG
- CONTAINER_IP=$(docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' test_container)
- |
echo "Waiting for the application to start..."
sleep 10
if curl --fail http://$CONTAINER_IP:5050/health; then
echo "Healthcheck passed"
else
echo "Healthcheck failed, stopping push"
exit 1
fi
after_script:
- docker rm -f test_container
push:
needs:
- test
stage: push
script:
- echo "$CI_REGISTRY_PASSWORD" | docker login -u "$CI_REGISTRY_USER" --password-stdin $CI_REGISTRY
- docker push $CI_REGISTRY/$CI_PROJECT_PATH:$CI_COMMIT_SHORT_SHA
- docker push $CI_REGISTRY/$CI_PROJECT_PATH:$CI_COMMIT_REF_SLUG
- docker push $CI_REGISTRY/$CI_PROJECT_PATH:latest