diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 4146d38..2cc4b70 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -34,25 +34,27 @@ deploy:vps: - chmod 700 ~/.ssh - ssh-keyscan -p "$VPS_PORT" "$VPS_HOST" >> ~/.ssh/known_hosts script: - - echo "Deploying version $CI_COMMIT_TAG to VPS" + - export VERSION="${CI_COMMIT_TAG:-$CI_COMMIT_SHORT_SHA}" + - echo "Deploying version $VERSION to VPS" - echo "Building image from source..." - - docker build -t littleshop:$CI_COMMIT_TAG . + - docker build -t littleshop:$VERSION . - echo "Copying image to VPS via SSH..." - - docker save littleshop:$CI_COMMIT_TAG | ssh -i /tmp/deploy_key -p "$VPS_PORT" "$VPS_USER@$VPS_HOST" "docker load" + - docker save littleshop:$VERSION | ssh -i /tmp/deploy_key -p "$VPS_PORT" "$VPS_USER@$VPS_HOST" "docker load" - echo "Deploying on VPS..." - | ssh -i /tmp/deploy_key -p "$VPS_PORT" "$VPS_USER@$VPS_HOST" bash -s << EOF set -e + export VERSION="$VERSION" # Tag the image - docker tag littleshop:$CI_COMMIT_TAG localhost:5000/littleshop:$CI_COMMIT_TAG - docker tag littleshop:$CI_COMMIT_TAG localhost:5000/littleshop:latest + docker tag littleshop:\$VERSION localhost:5000/littleshop:\$VERSION + docker tag littleshop:\$VERSION localhost:5000/littleshop:latest # Push to local registry echo "Pushing to local Docker registry..." - docker push localhost:5000/littleshop:$CI_COMMIT_TAG + docker push localhost:5000/littleshop:\$VERSION docker push localhost:5000/littleshop:latest # Navigate to deployment directory @@ -89,6 +91,8 @@ deploy:vps: name: production url: http://hq.lan rules: + - if: '$CI_COMMIT_BRANCH == "main"' + when: on_success - if: '$CI_COMMIT_TAG' when: manual tags: