gitea workflow
Some checks failed
Build and Push Docker Image / build_and_push (push) Failing after 17s
Some checks failed
Build and Push Docker Image / build_and_push (push) Failing after 17s
This commit is contained in:
parent
98afc28773
commit
14c2a123cf
@ -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
|
|
31
.gitea/workflows/docker-build.yml
Normal file
31
.gitea/workflows/docker-build.yml
Normal 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
|
51
Dockerfile
51
Dockerfile
@ -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
|
|
||||||
|
Loading…
Reference in New Issue
Block a user