Commit 2c6e8991 authored by Webb, Jake's avatar Webb, Jake
Browse files

Merge branch 'deploy' into 'main'

Setup deployment

See merge request !4
parents 6718bf39 c571d60f
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
node_modules/
.git
deploy.sh
deployment.yaml

Dockerfile

0 → 100644
+12 −0
Original line number Diff line number Diff line
FROM node:20.11.1 as build
WORKDIR /app
COPY package.json package-lock.json /app/
RUN npm ci
COPY . /app/
ENV VITE_BASE_PATH="https://obsidian.ccs.ornl.gov/exadigit/dashboard"
RUN npm run build

FROM bitnami/nginx:1.25.4
EXPOSE 8080
COPY ./docker/server.conf /opt/bitnami/nginx/conf/server_blocks/server.conf
COPY --from=build /app/dist /app

deploy.sh

0 → 100755
+10 −0
Original line number Diff line number Diff line
#!/bin/bash
SCRIPT_DIR=$(realpath $(dirname "${BASH_SOURCE[0]}"))
cd "$SCRIPT_DIR"

docker build -t registry.apps.marble.ccs.ornl.gov/stf218-app/exadigit-simulation-dashboard:latest . &&
docker push registry.apps.marble.ccs.ornl.gov/stf218-app/exadigit-simulation-dashboard:latest &&
# Scale down so pod gets recreated and uses new image
oc --namespace stf218-app scale deploy -l app=exadigit-simulation-dashboard --replicas=0

oc apply -f deployment.yaml

deployment.yaml

0 → 100644
+47 −0
Original line number Diff line number Diff line
apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app: exadigit-simulation-dashboard
  name: exadigit-simulation-dashboard
  namespace: stf218-app
spec:
  replicas: 1
  selector:
    matchLabels:
      app: exadigit-simulation-dashboard
  template:
    metadata:
      name: main
      labels:
        app: exadigit-simulation-dashboard
    spec:
      containers:
      - image: registry.apps.marble.ccs.ornl.gov/stf218-app/exadigit-simulation-dashboard:latest
        name: main
        imagePullPolicy: Always
        resources:
          requests:
            cpu: 100m
            memory: 100Mi
          limits:
            cpu: 100m
            memory: 250Mi
---
kind: Service
apiVersion: v1
metadata:
  name: exadigit-simulation-dashboard
  namespace: stf218-app
  labels:
    app: exadigit-simulation-dashboard
spec:
  ports:
    - name: http
      protocol: TCP
      port: 8080
      targetPort: 8080
  type: ClusterIP
  selector:
    app: exadigit-simulation-dashboard
---
+3 −3
Original line number Diff line number Diff line
server {
    listen 80;
    root /usr/share/nginx/html;
    listen 8080;
    root /app;
    index index.html;

    location / {
Loading