diff --git a/.gitea/workflows/build.yml b/.gitea/workflows/build.yml new file mode 100644 index 0000000..0585b27 --- /dev/null +++ b/.gitea/workflows/build.yml @@ -0,0 +1,31 @@ +name: Docker Build and Push + +on: + push: + +jobs: + build-and-push: + runs-on: ubuntu-latest + + steps: + - name: Checkout repository + uses: actions/checkout@v6 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Log in to Docker Hub + uses: docker/login-action@v3 + with: + registry: git.fossy.my.id + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + + - name: Build and push Docker image + uses: docker/build-push-action@v6 + with: + context: . + push: true + tags: | + git.fossy.my.id/${{ secrets.DOCKER_USERNAME }}/ristek-task-fe:latest + platforms: linux/amd64,linux/arm64 diff --git a/Dockerfile b/Dockerfile index 207bf93..0a71faa 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,20 +1,20 @@ -FROM node:20-alpine AS development-dependencies-env +FROM node:24-alpine AS development-dependencies-env COPY . /app WORKDIR /app RUN npm ci -FROM node:20-alpine AS production-dependencies-env +FROM node:24-alpine AS production-dependencies-env COPY ./package.json package-lock.json /app/ WORKDIR /app RUN npm ci --omit=dev -FROM node:20-alpine AS build-env +FROM node:24-alpine AS build-env COPY . /app/ COPY --from=development-dependencies-env /app/node_modules /app/node_modules WORKDIR /app RUN npm run build -FROM node:20-alpine +FROM node:24-alpine COPY ./package.json package-lock.json /app/ COPY --from=production-dependencies-env /app/node_modules /app/node_modules COPY --from=build-env /app/build /app/build