Skip to content

Commit fffe2d6

Browse files
committed
Integrated docker and ci-cd
1 parent 45f3cbd commit fffe2d6

File tree

3 files changed

+38
-1
lines changed

3 files changed

+38
-1
lines changed

backend/.github/workflow/cicd.yml

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
name: Deploy Node Application
2+
3+
on:
4+
push:
5+
branches:
6+
- mern-ec2-docker
7+
8+
jobs:
9+
build:
10+
runs-on: ubuntu-latest
11+
steps:
12+
- name: Checkout Source
13+
uses: actions/checkout@v4
14+
- name: Login to docker hub
15+
run: docker login -u ${{ secrets.DOCKER_USERNAME }} -p ${{ secrets.DOCKER_PASSWORD }}
16+
- name: Build Docker Image
17+
run: docker build -t rajpatelbot/noteapp-backend .
18+
- name: Publish Image to docker hub
19+
run: docker push rajpatelbot/noteapp-backend:latest
20+
21+
deploy:
22+
needs: build
23+
runs-on: self-hosted
24+
steps:
25+
- name: Pull image from docker hub
26+
run: docker pull rajpatelbot/noteapp-backend:latest
27+
- name: Delete old container
28+
run: docker rm -f nodejs-app-container
29+
- name: Run Docker Container
30+
run: docker run -d -p 4000:4000 --name nodejs-app-container -e MONGO_PASSWORD='${{ secrets.MONGO_PASSWORD }}' rajpatelbot/noteapp-backend

backend/Dockerfile

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
FROM node:alpine3.18
2+
WORKDIR /app
3+
COPY package.json ./
4+
RUN npm install
5+
COPY . .
6+
EXPOSE 4000
7+
CMD [ "npm", "run", "start" ]

backend/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
"description": "",
55
"main": "server.js",
66
"scripts": {
7-
"dev": "node server.js",
7+
"start": "node server.js",
88
"heroku-postbuild": "cd frontend && npm install && npm run build"
99
},
1010
"keywords": [],

0 commit comments

Comments
 (0)