Skip to content
Snippets Groups Projects
Commit bc88da67 authored by Paolo.Brasolin's avatar Paolo.Brasolin
Browse files

feat: #be webserver k8s template

parent 684316ed
No related branches found
No related tags found
No related merge requests found
......@@ -3,9 +3,10 @@ variables:
stages:
- build
- deploy
- setup
be-build-job:
.be-build-job:
variables:
IMAGE_NAME: $CI_REGISTRY_IMAGE/backend
stage: build
......@@ -26,7 +27,33 @@ be-build-job:
only:
- main
be-setup-job:
be-deploy-job:
variables:
KUBECTL_VERSION: v1.8.10
IMAGE_NAME: $CI_REGISTRY_IMAGE/backend
stage: deploy
tags:
- commul
image: docker:latest
services:
- docker:dind
before_script:
- wget https://storage.googleapis.com/kubernetes-release/release/$KUBECTL_VERSION/bin/linux/amd64/kubectl
# NOTE: version is too ald and don't have sha256 available
#- wget https://dl.k8s.io/release/$KUBECTL_VERSION/bin/linux/amd64/kubectl.sha256
# - echo "$(<kubectl.sha256) kubectl" | sha256sum --check
- mv kubectl /usr/bin/ && chmod +x /usr/bin/kubectl
- docker login -u $CI_REGISTRY_USER -p $CI_JOB_TOKEN https://$CI_REGISTRY
script:
- kubectl version --client
- echo YAY!
- docker pull ${IMAGE_NAME}:main
#- kubectl --namespace kommul-dev set image deployment/merlin browser=${CONTAINER_IMAGE}:${CI_COMMIT_SHA}
only:
- main
.be-setup-job:
image: node:16-alpine
stage: setup
cache:
......@@ -42,7 +69,7 @@ be-setup-job:
- npm install
- echo Success!
fe-setup-job:
.fe-setup-job:
image: node:16-alpine
stage: setup
cache:
......
apiVersion: apps/v1
kind: Deployment
metadata:
name: oetzi-webserver
spec:
replicas: 1
selector:
matchLabels:
app: oetzi-webserver
template:
metadata:
labels:
app: oetzi-webserver
spec:
containers:
- name: oetzi-webserver
# NOTE: use `minikube image load oetzi:latest` to push into container runtime
image: oetzi:latest
# NOTE: Never is useful only for locla testing in order to load image from cache
imagePullPolicy: Never
resources: {}
ports:
- name: http
containerPort: 80
command: ["npm", "run", "serve"]
env:
- name: PORT
value: "80"
- name: DATABASE_URL
value: postgres://db_user:db_pass@database/db_name
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: oetzi
spec:
rules:
- host: oetzi.eurac
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: oetzi-webserver
port:
name: http
apiVersion: v1
kind: Service
metadata:
name: oetzi-webserver
spec:
selector:
app: oetzi-webserver
ports:
- name: http
port: 8080
targetPort: 80
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment