Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 12 additions & 4 deletions .github/workflows/develop-CD.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,17 +17,26 @@ jobs:
with:
ref: develop

# 👉 Build la imagen Docker
# 👉 Build Docker image with Firebase args
- name: Build Docker image
run: docker build -f Dockerfile.prod -t ${{ secrets.DOCKER_USERNAME }}/frontend-dev:stage-${{ github.sha }} .
run: |
docker build \
--build-arg NEXT_PUBLIC_FIREBASE_API_KEY=${{ secrets.FIREBASE_API_KEY }} \
--build-arg NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN=${{ secrets.FIREBASE_AUTH_DOMAIN }} \
--build-arg NEXT_PUBLIC_FIREBASE_PROJECT_ID=${{ secrets.FIREBASE_PROJECT_ID }} \
--build-arg NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET=${{ secrets.FIREBASE_STORAGE_BUCKET }} \
--build-arg NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID=${{ secrets.FIREBASE_MESSAGING_SENDER_ID }} \
--build-arg NEXT_PUBLIC_FIREBASE_APP_ID=${{ secrets.FIREBASE_APP_ID }} \
--build-arg NEXT_PUBLIC_FIREBASE_MEASUREMENT_ID=${{ secrets.FIREBASE_MEASUREMENT_ID }} \
-f Dockerfile.prod -t ${{ secrets.DOCKER_USERNAME }}/frontend-dev:${{ github.sha }} .

# 👉 Log in to DockerHub
- name: DockerHub Login
run: echo "${{ secrets.DOCKER_PASSWORD }}" | docker login -u "${{ secrets.DOCKER_USERNAME }}" --password-stdin

# 👉 Push la imagen
- name: Push Docker image to DockerHub
run: docker push ${{ secrets.DOCKER_USERNAME }}/frontend-dev:stage-${{ github.sha }}
run: docker push ${{ secrets.DOCKER_USERNAME }}/frontend-dev:${{ github.sha }}

# 👉 Add VM to known_hosts
- name: Add VM to known_hosts
Expand Down Expand Up @@ -55,5 +64,4 @@ jobs:
key: ${{ secrets.GCP_SSH_KEY }}
script: |
cd /home/proyectosdanils/
docker compose down frontend-dev
docker compose up -d frontend-dev
14 changes: 11 additions & 3 deletions .github/workflows/master-CD.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,18 @@ jobs:
- name: Checkout repository
uses: actions/checkout@v4

# 👉 Build la imagen Docker
# 👉 Build Docker image with Firebase args
- name: Build Docker image
run: docker build -f Dockerfile.prod -t ${{ secrets.DOCKER_USERNAME }}/frontend-prod:${{ github.sha }} .
run: |
docker build \
--build-arg NEXT_PUBLIC_FIREBASE_API_KEY=${{ secrets.FIREBASE_API_KEY }} \
--build-arg NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN=${{ secrets.FIREBASE_AUTH_DOMAIN }} \
--build-arg NEXT_PUBLIC_FIREBASE_PROJECT_ID=${{ secrets.FIREBASE_PROJECT_ID }} \
--build-arg NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET=${{ secrets.FIREBASE_STORAGE_BUCKET }} \
--build-arg NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID=${{ secrets.FIREBASE_MESSAGING_SENDER_ID }} \
--build-arg NEXT_PUBLIC_FIREBASE_APP_ID=${{ secrets.FIREBASE_APP_ID }} \
--build-arg NEXT_PUBLIC_FIREBASE_MEASUREMENT_ID=${{ secrets.FIREBASE_MEASUREMENT_ID }} \
-f Dockerfile.prod -t ${{ secrets.DOCKER_USERNAME }}/frontend-prod:${{ github.sha }} .

# 👉 Log in to DockerHub
- name: DockerHub Login
Expand Down Expand Up @@ -56,5 +65,4 @@ jobs:
key: ${{ secrets.GCP_SSH_KEY }}
script: |
cd /home/proyectosdanils/
docker compose down frontend-prod
docker compose up -d frontend-prod
4 changes: 2 additions & 2 deletions Dockerfile.local
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
FROM node:22-slim

RUN mkdir -p /home/frontend-dev
RUN mkdir -p /app

WORKDIR /home/frontend-dev
WORKDIR /app

COPY package.json package-lock.json ./
RUN npm ci
Expand Down
23 changes: 20 additions & 3 deletions Dockerfile.prod
Original file line number Diff line number Diff line change
@@ -1,14 +1,31 @@
FROM node:22-alpine

RUN mkdir -p /home/frontend-prod
RUN mkdir -p /app

WORKDIR /home/frontend-prod
WORKDIR /app

COPY package.json package-lock.json ./
COPY package.json ./
RUN npm install

COPY . .

ARG NEXT_PUBLIC_FIREBASE_API_KEY
ARG NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN
ARG NEXT_PUBLIC_FIREBASE_PROJECT_ID
ARG NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET
ARG NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID
ARG NEXT_PUBLIC_FIREBASE_APP_ID
ARG NEXT_PUBLIC_FIREBASE_MEASUREMENT_ID

ENV NEXT_PUBLIC_FIREBASE_API_KEY=$NEXT_PUBLIC_FIREBASE_API_KEY
ENV NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN=$NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN
ENV NEXT_PUBLIC_FIREBASE_PROJECT_ID=$NEXT_PUBLIC_FIREBASE_PROJECT_ID
ENV NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET=$NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET
ENV NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID=$NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID
ENV NEXT_PUBLIC_FIREBASE_APP_ID=$NEXT_PUBLIC_FIREBASE_APP_ID
ENV NEXT_PUBLIC_FIREBASE_MEASUREMENT_ID=$NEXT_PUBLIC_FIREBASE_MEASUREMENT_ID


RUN npm run build

EXPOSE 3000
Expand Down
5 changes: 2 additions & 3 deletions app/_lib/_firebase/firebase.config.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
'use client';
import { initializeApp } from 'firebase/app';
import { getApp, getApps, initializeApp } from 'firebase/app';
import { getAuth } from 'firebase/auth';

const firebaseConfig = {
Expand All @@ -12,5 +11,5 @@ const firebaseConfig = {
measurementId: process.env.NEXT_PUBLIC_FIREBASE_MEASUREMENT_ID,
};

const app = initializeApp(firebaseConfig);
const app = getApps().length > 0 ? getApp() : initializeApp(firebaseConfig);
export const auth = getAuth(app);
4 changes: 2 additions & 2 deletions docker-compose.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@ services:
ports:
- '3000:3000'
volumes:
- .:/home/frontend-dev
- .:/app
environment:
- NODE_ENV=development
env_file:
- .env
- .env