gitea workflow
Some checks failed
Build and Push Docker Image / build_and_push (push) Failing after 17s

This commit is contained in:
Mohamad.Elsena 2025-01-03 10:26:04 +01:00
parent 98afc28773
commit 14c2a123cf
3 changed files with 41 additions and 75 deletions

View File

@ -1,34 +0,0 @@
name: Build and Deploy
on:
push:
branches:
- main
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Clone the repository
uses: actions/checkout@v3
- name: Set up Docker
uses: docker/setup-buildx-action@v2
- name: Log in to Docker Hub
run: echo "${{ secrets.DOCKER_PASSWORD }}" | docker login -u "${{ secrets.DOCKER_USERNAME }}" --password-stdin
- name: Build and Push Docker Image
run: |
docker build -t your-dockerhub-username/formies-combined .
docker tag your-dockerhub-username/formies-combined:latest
docker push your-dockerhub-username/formies-combined:latest
- name: Deploy to Server (optional)
run: |
ssh -o StrictHostKeyChecking=no ${{ secrets.SERVER_USER }}@${{ secrets.SERVER_IP }} << 'EOF'
docker pull your-dockerhub-username/formies-combined:latest
docker stop formies || true
docker rm formies || true
docker run -d --name formies -p 8080:8080 your-dockerhub-username/formies-combined:latest
EOF

View File

@ -0,0 +1,31 @@
name: Build and Push Docker Image
on:
push:
branches:
- prod
jobs:
build_and_push:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Install Docker
run: |
sudo apt-get update
sudo apt-get install -y docker.io
- name: Build Docker image
run: |
docker build -t git.vinylnostalgia.com/${{ secrets.GITEA_USERNAME }}/formies:latest .
- name: Push Docker image to Gitea Registry
env:
GITEA_USERNAME: ${{ secrets.RUNNER_USERNAME }}
GITEA_PASSWORD: ${{ secrets.GITEA_PASSWORD }}
run: |
echo $GITEA_PASSWORD | docker login gitea.example.com -u $GITEA_USERNAME --password-stdin
docker push git.vinylnostalgia.com/$GITEA_USERNAME/formies:latest

View File

@ -1,51 +1,20 @@
# Stage 1: Build Frontend # Stage 1: Build the Svelte frontend
FROM node:18 as frontend-builder FROM node:18 as frontend-builder
WORKDIR /app/frontend
WORKDIR /frontend COPY frontend/ .
# Copy frontend package files
COPY frontend/package.json frontend/package-lock.json ./
RUN npm install RUN npm install
# Copy the rest of the frontend source code
COPY frontend ./
# Build the frontend
RUN npm run build RUN npm run build
# Stage 2: Build Backend # Stage 2: Build the Rust backend
FROM rust:1.72 as backend-builder FROM rust:1.73 as backend-builder
WORKDIR /app/backend
WORKDIR /backend COPY backend/ .
# Copy backend files
COPY backend/Cargo.toml backend/Cargo.lock ./
RUN mkdir src && echo "fn main() {}" > src/main.rs
RUN cargo build --release RUN cargo build --release
# Copy the actual backend source code # Final Stage: Combine frontend and backend
COPY backend/src ./src
RUN cargo build --release
# Stage 3: Combine and Serve
FROM debian:bullseye-slim FROM debian:bullseye-slim
# Install dependencies for running Rust binaries
RUN apt-get update && apt-get install -y libssl-dev && rm -rf /var/lib/apt/lists/*
WORKDIR /app WORKDIR /app
COPY --from=frontend-builder /app/frontend/build ./frontend/dist
# Copy backend binary COPY --from=backend-builder /app/backend/target/release/backend ./backend
COPY --from=backend-builder /backend/target/release/backend .
# Copy frontend static files
COPY --from=frontend-builder /frontend/public ./frontend/public
# Expose port
EXPOSE 8080 EXPOSE 8080
# Run the backend (serving static files and API)
CMD ["./backend"] CMD ["./backend"]
#docker build -t your-dockerhub-username/formies-combined .
#docker push your-dockerhub-username/formies-combined:latest