From 0d4ef6e50d1574d01e6863a69c2b45dde5b7f056 Mon Sep 17 00:00:00 2001 From: Ann-Marie Aeronuwy Francoise Revillard Date: Wed, 19 Mar 2025 02:53:27 +0100 Subject: [PATCH] Create docker-image.yml --- .github/workflows/docker-image.yml | 77 ++++++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 .github/workflows/docker-image.yml diff --git a/.github/workflows/docker-image.yml b/.github/workflows/docker-image.yml new file mode 100644 index 0000000..616835c --- /dev/null +++ b/.github/workflows/docker-image.yml @@ -0,0 +1,77 @@ +name: Docker Image Deploy to Development + +on: + push: + branches: [ "main" ] + pull_request: + branches: [ "main" ] + +jobs: + build: + runs-on: [ self-hosted ] + + steps: + - name: Checkout Repository + uses: actions/checkout@v4 + + - name: Debug + run: env | grep DEV_ || echo "No DEV_ variables found" + + - name: Set environment variables + run: | + echo "DEV_PORT_PREFIX=80" >> $GITHUB_ENV + echo "STAG_PORT_PREFIX=443" >> $GITHUB_ENV + echo "GATEWAY_POSTFIX=" >> $GITHUB_ENV + + - name: Verify environment variables + run: cat $GITHUB_ENV + + - name: Build Backend Docker Image + run: | + docker build -t backend ./backend + + - name: Build Frontend Docker Image + run: | + docker build -t frontend ./frontend + + - name: Stop and Remove Old Containers + run: | + docker stop backend-container || true + docker rm backend-container || true + docker stop frontend-container || true + docker rm frontend-container || true + + - name: Run Backend Container + run: | + docker run -d --name backend-container -p 8000:8000 backend + + - name: Run Frontend Container + run: | + docker run -d --name frontend-container -p 3000:3000 frontend + + - name: Run Nginx Container + run: | + docker stop secfit_prod_gateway || true + docker rm secfit_prod_gateway || true + docker run -d --name secfit_prod_gateway -p 80:80 -v $(pwd)/nginx/nginx.conf:/etc/nginx/nginx.conf nginx:latest + + + # - name: Build the Docker image + # run: docker build . --file Dockerfile --tag my-image-name:$(date +%s) + + + # - name: Build the Docker Image + # run: | + # IMAGE_TAG=$(date +%s) # Generate unique tag using timestamp + # echo "IMAGE_TAG=$IMAGE_TAG" >> $GITHUB_ENV + # docker build -t my-image-name:$IMAGE_TAG . + + # - name: Stop and Remove Old Containers + # run: | + # docker stop my-app-container || true + # docker rm my-app-container || true + + # - name: Run Docker Container + # run: | + # docker run -d --name my-app-container -p 8080:8080 my-image-name:$IMAGE_TAG +