# Simple GitLab CI/CD Pipeline - Build and Deploy only stages: - build - deploy variables: DOCKER_DRIVER: overlay2 IMAGE_NAME: $CI_REGISTRY_IMAGE IMAGE_TAG: $CI_COMMIT_SHA # Build and push Docker image build: stage: build image: docker:24.0.5 services: - docker:24.0.5-dind before_script: - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY variables: DOCKER_TLS_CERTDIR: "/certs" script: - docker info - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY - docker pull $CI_REGISTRY_IMAGE:latest || true - docker build --cache-from $CI_REGISTRY_IMAGE:latest --tag $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA --tag $CI_REGISTRY_IMAGE:latest . - docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA - docker push $CI_REGISTRY_IMAGE:latest only: - master # Deploy to production deploy: stage: deploy image: ictu/sshpass script: - sshpass -p c4c5f47918a6310d79de188465218b440c69570c ssh -o StrictHostKeyChecking=no kubeuser@stare.gg 'kubectl rollout restart deployments/proxy-detection-api' environment: name: production only: - master