-
Notifications
You must be signed in to change notification settings - Fork 205
32 lines (29 loc) · 1 KB
/
cicd.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
name: Deploy Node Application
on:
push:
branches:
- mean-ec2-docker
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout source
uses: actions/checkout@v4
- name: Create .env file
run: echo "MONGO_PASSWORD=${{ secrets.MONGO_PASSWORD }}" >> .env
- name: Login to docker hub
run: docker login -u ${{ secrets.DOCKER_USERNAME }} -p ${{ secrets.DOCKER_PASSWORD }}
- name: Build docker image
run: docker build -t integrationninjas/nodejs-app .
- name: Publish image to docker hub
run: docker push integrationninjas/nodejs-app:latest
deploy:
needs: build
runs-on: self-hosted
steps:
- name: Pull image from docker hub
run: docker pull integrationninjas/nodejs-app:latest
- name: Delete old container
run: docker rm -f nodejs-app-container
- name: Run docker container
run: docker run -d -p 4000:4000 --name nodejs-app-container integrationninjas/nodejs-app