variables: CONTAINER_IMAGE: 'registry.kszk.bme.hu/kszk/devteam/$CI_PROJECT_NAME:$CI_COMMIT_REF_NAME' stages: - Pre Build - Docker Build - deploy PreBuild: stage: Pre Build tags: [docker] image: node:latest script: - npm install - npm run build cache: paths: - build/ artifacts: expire_in: 1 day paths: - build/ only: - tags Docker build: stage: Docker Build tags: [docker] only: - tags image: name: gcr.io/kaniko-project/executor:debug entrypoint: [''] script: - echo "{\"auths\":{\"registry.kszk.bme.hu\":{\"username\":\"$REGISTRY_USER\",\"password\":\"$REGISTRY_PASSWORD\"}}}" > /kaniko/.docker/config.json - /kaniko/executor --context $CI_PROJECT_DIR --dockerfile $CI_PROJECT_DIR/Dockerfile --destination $CONTAINER_IMAGE Deploy to Kubernetes: stage: deploy image: alpine environment: name: master script: - apk add --no-cache curl - curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl" - chmod +x ./kubectl - mv ./kubectl /usr/local/bin/kubectl - kubectl version - cd k8s - sed -i "s|##IMAGETAG##|${CI_COMMIT_REF_NAME}|" deployment.yaml - kubectl apply -f deployment.yaml only: - tags