deploy #45
This file contains hidden or 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: Deploy Node.js Application | |
on: | |
push: | |
branches: | |
- main | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout Source | |
uses: actions/checkout@v4 | |
- name: Login to Docker Hub | |
run: docker login -u ${{ secrets.DOCKER_USERNAME }} -p ${{ secrets.DOCKER_PASSWORD }} | |
- name: Build Docker Image | |
run: docker build -t ${{ secrets.DOCKER_USERNAME }}/backend-app -f backend/Dockerfile backend/ | |
- name: Publish Image to Docker Hub | |
run: docker push oyshisarker/backend-app:latest | |
deploy: | |
needs: build | |
runs-on: self-hosted | |
steps: | |
- name: Pull Image from Docker Hub | |
run: docker pull oyshisarker/backend-app:latest | |
- name: List Docker Images | |
run: docker images | |
- name: Remove existing container if it exists | |
run: | | |
docker stop backend-app-container || true | |
docker rm backend-app-container || true | |
- name: Run Docker Container | |
run: | | |
docker run -d -p 5000:5000 \ | |
--name backend-app-container \ | |
-e MONGODB_URL="${{ secrets.MONGO_URL }}" \ | |
-e OPEN_AI_SECRET="${{ secrets.OPEN_AI_SECRET }}" \ | |
-e JWT_SECRET="${{ secrets.JWT_SECRET }}" \ | |
-e COOKIE_SECRET="${{ secrets.COOKIE_SECRET }}" \ | |
-e OPENAI_ORGANIZATION_ID="${{ secrets.OPENAI_ORGANIZATION_ID }}" \ | |
-e COOKIE_NAME="${{secrets.COOKIE_NAME}}" \ | |
-e PORT="${{secrets.PORT}}" \ | |
oyshisarker/backend-app:latest |