Skip to content
Snippets Groups Projects
Commit 09876a41 authored by Torma Kristóf's avatar Torma Kristóf :alien:
Browse files

create better deploy using experience from frontend memery

parent 08e459bd
No related branches found
No related tags found
1 merge request!4create better deploy using experience from frontend memery
image: python:latest
image: python:3.9
services:
- postgres:latest
- postgres:13
variables:
POSTGRES_DB: kszkepzes
......@@ -16,6 +16,7 @@ cache:
stages:
- Test and Flake8
- Docker Build
- deploy
Flake8:
stage: Test and Flake8
......@@ -23,7 +24,7 @@ Flake8:
- dev
- master
- tags
tags: [docker]
tags: [kszk]
script:
- python -V
- python3 -m venv env
......@@ -37,7 +38,7 @@ Flake8:
# only:
# - dev
# - master
# tags: [docker]
# tags: [kszk]
# variables:
# DATABASE_URL: 'postgresql://postgres:postgres@postgres:5432/$POSTGRES_DB'
# SECRET_KEY: 'secret'
......@@ -52,7 +53,7 @@ Flake8:
Docker build:
stage: Docker Build
tags: [docker]
tags: [kszk]
only:
- tags
image:
......@@ -61,3 +62,21 @@ 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
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
- cd k8s
- sed -i "s|##IMAGETAG##|${CI_COMMIT_REF_NAME}|" deployment.yml
- kubectl apply -f deployment.yml
only:
- tags
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: kszkepzes-backend
namespace: devteam-kszk-bme-hu
spec:
replicas: 1
selector:
matchLabels:
app: kszkepzes-backend
template:
metadata:
labels:
app: kszkepzes-backend
spec:
initContainers:
- name: volume-mount-hack
image: busybox
command: ['sh', '-c', 'chown -R 1000:1000 /mediafiles']
volumeMounts:
- name: kszkepzes-media-volume
mountPath: /mediafiles
- name: kszkepzes-backend-migrate
image: rlacko58/kszkepzes-backend:latest
imagePullPolicy: 'Always'
command: ['python', 'manage.py', 'migrate', '--noinput']
envFrom:
- configMapRef:
name: kszkepzes-config
- secretRef:
name: kszkepzes-secret-config
containers:
- name: kszkepzes-backend
image: registry.kszk.bme.hu/kszk/devteam/kszkepzes-backend:##IMAGETAG##
imagePullPolicy: 'Always'
volumeMounts:
- mountPath: /home/app/kszkepzes-backend/mediafiles
name: kszkepzes-media-volume
ports:
- containerPort: 8000
envFrom:
- configMapRef:
name: kszkepzes-config
- secretRef:
name: kszkepzes-secret-config
volumes:
- name: kszkepzes-media-volume
persistentVolumeClaim:
claimName: kszkepzes-media-pv-claim
imagePullSecrets:
- name: kszkepzes-regcred
\ No newline at end of file
---
apiVersion: v1
kind: Service
metadata:
name: kszkepzes-backend
namespace: devteam-kszk-bme-hu
spec:
type: ClusterIP
ports:
- port: 8000
targetPort: 8000
name: back
protocol: TCP
selector:
app: kszkepzes-backend
\ No newline at end of file
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