-
Notifications
You must be signed in to change notification settings - Fork 0
32 lines (29 loc) · 1.73 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: Deployment on AWS-EC2 Linux
on:
push:
branches:
- production
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout Source
uses: actions/checkout@v4
- name: Create .env file
run: rm -rf .env && echo echo "NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=\${{ secrets.NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY }}\nCLERK_SECRET_KEY=\${{ secrets.CLERK_SECRET_KEY }}\nNEXT_PUBLIC_CLERK_SIGN_IN_URL=\${{ secrets.NEXT_PUBLIC_CLERK_SIGN_IN_URL }}\nNEXT_PUBLIC_CLERK_SIGN_UP_URL=\${{ secrets.NEXT_PUBLIC_CLERK_SIGN_UP_URL }}\nNEXT_PUBLIC_CLERK_AFTER_SIGN_IN_URL=\${{ secrets.NEXT_PUBLIC_CLERK_AFTER_SIGN_IN_URL }}\nNEXT_PUBLIC_CLERK_AFTER_SIGN_UP_URL=\${{ secrets.NEXT_PUBLIC_CLERK_AFTER_SIGN_UP_URL }}\nDATABASE_URL=\${{ secrets.DATABASE_URL }}\nUPLOADTHING_SECRET=\${{ secrets.UPLOADTHING_SECRET }}\nUPLOADTHING_APP_ID=\${{ secrets.UPLOADTHING_APP_ID }}\nLIVEKIT_API_KEY=\${{ secrets.LIVEKIT_API_KEY }}\nLIVEKIT_API_SECRET=\${{ secrets.LIVEKIT_API_SECRET }}\nNEXT_PUBLIC_LIVEKIT_URL=\${{ secrets.NEXT_PUBLIC_LIVEKIT_URL }}" >> .env
- name: Build docker image
run: docker build -t ravindramohith/discord_clone .
- name: Login to DockerHub
run: docker login -u ${{ secrets.DOCKER_USR }} -p ${{ secrets.DOCKER_PSWD }}
- name: Publish docker Image to Hub
run: docker push ravindramohith/discord_clone:latest
deploy:
needs: build
runs-on: self-hosted
steps:
- name: Pull image from Docker Hub
run: docker pull ravindramohith/discord_clone:latest
- name: Remove Existing Container
run: docker rm -f discord-clone-container
- name: Run Docker Container
run: docker run -d -p 3000:3000 --name discord-clone-container ravindramohith/discord_clone:latest