build & deploy to AWS #12
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |