Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added workflow #378

Open
wants to merge 18 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,19 +7,19 @@ on:

jobs:
build:
name: Build the project
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Use Node.js
uses: actions/setup-node@v3
with:
node-version: '20'

- name: Install Dependencies
run: npm install

- name: Generate prisma client
- name: Generate prisma Client
run: npm run db:generate

- name: Run Build
run: npm run build
32 changes: 10 additions & 22 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: Build and Deploy to Docker Hub
name: Build and Deploy to docker hub

on:
push:
Expand All @@ -9,34 +9,22 @@ jobs:
build-and-push:
runs-on: ubuntu-latest
steps:
- name: Check Out Repo
- name: Check out Repo
uses: actions/checkout@v2

- name: Log in to Docker Hub
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}

username: ${{secrets.DOCKER_USERNAME}}
password: ${{secrets.DOCKER_PASSWORD}}
- name: Build and Push Docker image
uses: docker/build-push-action@v2
with:
context: .
file: ./docker/Dockerfile.user
push: true
tags: 100xdevs/week-18-class:latest # Replace with your Docker Hub username and repository

- name: Verify Pushed Image
run: docker pull 100xdevs/week-18-class:latest # Replace with your Docker Hub username and repository

- name: Deploy to EC2
uses: appleboy/ssh-action@master
with:
host: ${{ secrets.SSH_HOST }}
username: ${{ secrets.SSH_USERNAME }}
key: ${{ secrets.SSH_KEY }}
script: |
sudo docker pull 100xdevs/week-18-class:latest
sudo docker stop web-app || true
sudo docker rm web-app || true
sudo docker run -d --name web-app -p 3005:3000 100xdevs/week-18-class:latest
tags: man0jx/cd:latest

- name: Verify pushed Image
run: docker pull man0jx/cd:latest
18 changes: 18 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
FROM node:20

WORKDIR usr/src/app

COPY package.json package-lock.json turbo.json tsconfig.json ./



COPY apps ./apps
COPY packages ./packages

RUN npm install

RUN npm run db:generate

RUN npm run build

CMD ["npm", "run", "start-user-app"]
5 changes: 2 additions & 3 deletions apps/bank-webhook/src/index.ts
Original file line number Diff line number Diff line change
@@ -1,12 +1,11 @@
import express from "express";
import db from "@repo/db/client";
const app = express();

//commit to feature branch
app.use(express.json())

app.post("/hdfcWebhook", async (req, res) => {
//TODO: Add zod validation here?
//TODO: HDFC bank should ideally send us a secret so we know this is sent by them
//TODO:
const paymentInformation: {
token: string;
userId: string;
Expand Down
10 changes: 5 additions & 5 deletions docker/Dockerfile.user
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
FROM node:20.12.0-alpine3.19
FROM node:20

WORKDIR /usr/src/app
WORKDIR usr/src/app

COPY package.json package-lock.json turbo.json tsconfig.json ./



COPY apps ./apps
COPY packages ./packages

# Install dependencies
RUN npm install
# Can you add a script to the global package.json that does this?

RUN npm run db:generate

# Can you filter the build down to just one app?
RUN npm run build

CMD ["npm", "run", "start-user-app"]