Skip to content
Snippets Groups Projects
.gitlab-ci.yml 1.39 KiB
stages:
  - build
  - deploy

variables:
  DOCKER_REGISTRY: ${CI_REGISTRY}
  CI_REGISTRY: registry.stratpoint.dev

build-frontend:
  stage: build
  tags:
    - docker-shell
  script:
    - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
    - cd app/frontend
    - docker build -t $CI_REGISTRY/$CI_REGISTRY_USER/task-app-management/app/frontend .
    - docker push $CI_REGISTRY/$CI_REGISTRY_USER/task-app-management/app/frontend
  only:
    changes:
      - app/frontend/**/*


deploy-dev:
  stage: deploy
  script:
    # Install kubectl
    - curl -LO "https://dl.k8s.io/release/v1.28.0/bin/linux/amd64/kubectl"
    - chmod +x ./kubectl
    - mv ./kubectl /usr/local/bin/kubectl
    # Set up kubeconfig (for extracting auth details)
    - mkdir -p ~/.kube
    - echo $KUBE_CONFIG | base64 -d > ~/.kube/config
    - chmod 600 ~/.kube/config
    
    # Extract auth token if available
    # - export TOKEN=$(kubectl config view --minify -o jsonpath='{.users[0].user.token}')
    # Try token-based auth if available
    # - if [ ! -z "$TOKEN" ]; then kubectl apply -f task-app/ --server=https://8.tcp.ngrok.io:12167 --insecure-skip-tls-verify --token=$TOKEN; else echo "No token found in config"; fi
    - kubectl apply -f task-app/ --server=https://0.tcp.ap.ngrok.io:11295 --insecure-skip-tls-verify
  environment:
    name: development
  only:
    - develop