Skip to content

Commit

Permalink
Merge pull request #8 from cuappdev/daisy/deployment
Browse files Browse the repository at this point in the history
Daisy/deployment
  • Loading branch information
daisychangm authored Dec 26, 2024
2 parents 77908ed + 3b4642f commit 50f6571
Show file tree
Hide file tree
Showing 5 changed files with 118 additions and 1 deletion.
45 changes: 45 additions & 0 deletions .github/workflows/deploy-dev.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
name: Docker Build & Push and Deploy to dev for score-backend

on:
push:
branches: [master]
workflow_dispatch:

jobs:
path-context:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
- name: Login to DockerHub
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Get SHA
id: vars
run: echo "::set-output name=sha_short::$(git rev-parse --short HEAD)"
- name: Docker Build & Push
uses: docker/build-push-action@v2
with:
context: ./
file: ./Dockerfile
push: true
tags: cornellappdev/score-dev:${{ steps.vars.outputs.sha_short }}
- name: Remote SSH and Deploy
uses: appleboy/ssh-action@master
env:
IMAGE_TAG: ${{ steps.vars.outputs.sha_short }}
with:
host: ${{ secrets.DEV_SERVER_HOST }}
username: ${{ secrets.SERVER_USERNAME }}
key: ${{ secrets.DEV_SERVER_KEY }}
script: |
export IMAGE_TAG=${{ steps.vars.outputs.sha_short }}
cd docker-compose
docker stack rm thestack
sleep 20s
docker stack deploy -c docker-compose.yml thestack
docker system prune -a
45 changes: 45 additions & 0 deletions .github/workflows/deploy-prod.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
name: Docker Build & Push and Deploy to prod for score-backend

on:
push:
branches: [release]
workflow_dispatch:

jobs:
path-context:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
- name: Login to DockerHub
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Get SHA
id: vars
run: echo "::set-output name=sha_short::$(git rev-parse --short release)"
- name: Docker Build & Push
uses: docker/build-push-action@v2
with:
context: ./
file: ./Dockerfile
push: true
tags: cornellappdev/score:${{ steps.vars.outputs.sha_short }}
- name: Remote SSH and Deploy
uses: appleboy/ssh-action@master
env:
IMAGE_TAG: ${{ steps.vars.outputs.sha_short }}
with:
host: ${{ secrets.PROD_SERVER_HOST }}
username: ${{ secrets.SERVER_USERNAME }}
key: ${{ secrets.PROD_SERVER_KEY }}
script: |
export IMAGE_TAG=${{ steps.vars.outputs.sha_short }}
cd docker-compose
docker stack rm thestack
sleep 20s
docker stack deploy -c docker-compose.yml thestack
docker system prune -a
7 changes: 7 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
FROM python:3.9
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
COPY . .
RUN pip3 install --upgrade pip
RUN pip install -r requirements.txt
CMD python app.py
19 changes: 19 additions & 0 deletions docker-compose.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
version: "3.6"

services:
web:
build: .
container_name: web
ports:
- "5000:5000"
env_file:
- .env
environment:
- MONGO_URI=${ATLAS_URI}
- DB_NAME=${DB_NAME}
networks:
- app-network

networks:
app-network:
driver: bridge
3 changes: 2 additions & 1 deletion requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,5 @@ graphene
pymongo
beautifulsoup4
requests
pillow
pillow
Flask-APScheduler

0 comments on commit 50f6571

Please sign in to comment.