diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 1aa583b49208a9e354a2b365c2a1d9cdb9810513..33531327c71bf3d4e767d398112410d45c110ba8 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -33,3 +33,20 @@ Docker build: 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 contrib/kubernetes/ + - sed -i "s|##IMAGETAG##|${CI_COMMIT_REF_NAME}|" *.yaml + - kubectl apply -f deployment.yaml + only: + - tags diff --git a/k8s/deployment.yml b/k8s/deployment.yml new file mode 100644 index 0000000000000000000000000000000000000000..dc655972b98e3522a727b5b1c2329c7c7fccd80c --- /dev/null +++ b/k8s/deployment.yml @@ -0,0 +1,24 @@ +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: kszkepzes-frontend + namespace: devteam-kszk-bme-hu +spec: + replicas: 1 + selector: + matchLabels: + app: kszkepzes-frontend + template: + metadata: + labels: + app: kszkepzes-frontend + spec: + containers: + - name: kszkepzes-frontend + image: registry.kszk.bme.hu/kszk/devteam/kszkepzes-frontend:##IMAGETAG## + imagePullPolicy: 'Always' + ports: + - containerPort: 3000 + imagePullSecrets: + - name: kszkepzes-regcred diff --git a/k8s/service.yml b/k8s/service.yml new file mode 100644 index 0000000000000000000000000000000000000000..9d0adffb9d63b67d904c96f7b87624fe71df000c --- /dev/null +++ b/k8s/service.yml @@ -0,0 +1,15 @@ +--- +apiVersion: v1 +kind: Service +metadata: + name: kszkepzes-frontend + namespace: devteam-kszk-bme-hu +spec: + type: ClusterIP + ports: + - port: 3000 + targetPort: 3000 + name: front + protocol: TCP + selector: + app: kszkepzes-frontend