Skip to content
Snippets Groups Projects
.gitlab-ci.yml 1.27 KiB
Newer Older
  • Learn to ignore specific revisions
  • Rafael László's avatar
    Rafael László committed
    variables:
      CONTAINER_IMAGE: 'registry.kszk.bme.hu/kszk/devteam/$CI_PROJECT_NAME:$CI_COMMIT_REF_NAME'
    
    Rafael László's avatar
    Rafael László committed
    
    
    Rafael László's avatar
    Rafael László committed
    stages:
    
      - Pre Build
    
    Rafael László's avatar
    Rafael László committed
      - Docker Build
    
    Torma Kristóf's avatar
    Torma Kristóf committed
      - deploy
    
    Rafael László's avatar
    Rafael László committed
    
    
    PreBuild:
      stage: Pre Build
    
      tags: [kszk]
    
      image: node:latest
      script:
        - npm install
        - npm run build
      cache:
        paths:
          - build/
      artifacts:
        expire_in: 1 day
        paths:
          - build/
      only:
        - tags
    
    
    Rafael László's avatar
    Rafael László committed
    Docker build:
      stage: Docker Build
    
      tags: [kszk]
    
    Rafael László's avatar
    Rafael László committed
      only:
        - tags
      image:
        name: gcr.io/kaniko-project/executor:debug
        entrypoint: ['']
    
    Rafael László's avatar
    Rafael László committed
      script:
    
    Rafael László's avatar
    Rafael László committed
        - 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
    
      tags: [devteam]
    
      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
    
    Torma Kristóf's avatar
    Torma Kristóf committed
        - cd k8s
        - sed -i "s|##IMAGETAG##|${CI_COMMIT_REF_NAME}|" deployment.yaml
    
        - kubectl apply -f deployment.yml
    
      only:
        - tags