diff --git a/.forgejo/workflows/build-and-deploy.yml b/.forgejo/workflows/build-and-deploy.yml index 87a8b34..4f1011d 100644 --- a/.forgejo/workflows/build-and-deploy.yml +++ b/.forgejo/workflows/build-and-deploy.yml @@ -1,74 +1,45 @@ -name: Build and Deploy Go App - -on: - push: - branches: - - master - - cicd - -jobs: - build: - runs-on: ubuntu-latest - steps: - - name: Checkout code - uses: actions/checkout@v4 - - - uses: actions/setup-go@v6 - with: - go-version: '^1.25' - check-latest: false - cache-dependency-path: | - modules/server/go.sum - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - - # Build application - - name: Build Go app - run: | - cd modules/server - go mod tidy - go build -o nyanimedb . - - - name: Upload built application to artifactory - uses: actions/upload-artifact@v3 - with: - name: nyanimedb - path: modules/server/nyanimedb - - # Build Docker image - - name: Login to Docker Hub - uses: docker/login-action@v3 - with: - registry: ${{ vars.REGISTRY }} - username: ${{ secrets.REGISTRY_USERNAME }} - password: ${{ secrets.REGISTRY_TOKEN }} - - - name: Build and push - uses: docker/build-push-action@v6 - with: - context: ./modules/server - file: Dockerfiles/Dockerfile_server - push: true - tags: meowgit.nekoea.red/nihonium/nyanimedb:latest - - deploy: - runs-on: self-hosted - needs: build - env: - POSTGRES_USER: ${{ secrets.POSTGRES_USER }} - POSTGRES_PASSWORD: ${{ secrets.POSTGRES_PASSWORD }} - POSTGRES_DB: nyanimedb - POSTGRES_PORT: 5432 - POSTGRES_VERSION: 18 - LOG_LEVEL: ${{ vars.LOG_LEVEL }} - - steps: - - name: Checkout code - uses: actions/checkout@v4 - - - name: Deploy containers locally - run: | - cd deploy - docker compose down || true - docker compose up -d +name: Build and Deploy Go App + +on: + push: + branches: + - master + +jobs: + build: + runs-on: self-hosted + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Build Go app + run: | + cd modules/server + go mod tidy + go build -o nyanimedb . + + - name: Build Docker image + run: | + cd modules/server + docker build -t nyanimedb:latest . + + deploy: + runs-on: self-hosted + needs: build + env: + POSTGRES_USER: ${{ secrets.POSTGRES_USER }} + POSTGRES_PASSWORD: ${{ secrets.POSTGRES_PASSWORD }} + POSTGRES_DB: nyanimedb + POSTGRES_PORT: 5432 + POSTGRES_VERSION: 18 + LOG_LEVEL: ${{ vars.LOG_LEVEL }} + + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Deploy containers locally + run: | + cd deploy + docker compose down || true + docker compose up -d diff --git a/Dockerfiles/Dockerfile_forgejo-runner b/Dockerfiles/Dockerfile_forgejo-runner deleted file mode 100644 index cafd58c..0000000 --- a/Dockerfiles/Dockerfile_forgejo-runner +++ /dev/null @@ -1,24 +0,0 @@ -FROM node:20-bookworm - -ENV DEBIAN_FRONTEND=noninteractive - -RUN apt-get update && \ - apt-get install -y \ - ca-certificates \ - curl \ - gnupg \ - lsb-release \ - sudo \ - software-properties-common && \ - rm -rf /var/lib/apt/lists/* - -RUN mkdir -p /etc/apt/keyrings && \ - curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg - -RUN echo \ - "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \ - $(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null - -RUN apt-get update && \ - apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin && \ - rm -rf /var/lib/apt/lists/* \ No newline at end of file diff --git a/Dockerfiles/Dockerfile_server b/Dockerfiles/Dockerfile_server deleted file mode 100644 index 87014ce..0000000 --- a/Dockerfiles/Dockerfile_server +++ /dev/null @@ -1,20 +0,0 @@ -FROM ubuntu:22.04 - -WORKDIR /app -COPY --chmod=755 nyanimedb /app -COPY templates /app/templates -EXPOSE 8080 -ENTRYPOINT ["/app/nyanimedb"] - -# FROM golang:1.25 AS builder - -# ARG VERSION=dev - -# WORKDIR /go/src/app -# COPY main.go . -# RUN go build -o main -ldflags=-X=main.version=${VERSION} main.go - -# FROM debian:buster-slim -# COPY --from=builder /go/src/app/main /go/bin/main -# ENV PATH="/go/bin:${PATH}" -# CMD ["main"] \ No newline at end of file diff --git a/deploy/buildx.sh b/deploy/buildx.sh deleted file mode 100644 index 96e0fe4..0000000 --- a/deploy/buildx.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -docker buildx build --platform linux/amd64 -t meowgit.nekoea.red/nihonium/forgejo-runner:latest -f ./Dockerfiles/Dockerfile_forgejo-runner . --push \ No newline at end of file diff --git a/deploy/docker-compose.yml b/deploy/docker-compose.yml index 3cac6b1..57681ca 100644 --- a/deploy/docker-compose.yml +++ b/deploy/docker-compose.yml @@ -27,7 +27,7 @@ services: # - pgadmin_data:/var/lib/pgadmin nyanimedb: - image: meowgit.nekoea.red/nihonium/nyanimedb:latest + image: nyanimedb:latest container_name: nyanimedb restart: always environment: diff --git a/modules/server/Dockerfile b/modules/server/Dockerfile new file mode 100644 index 0000000..8385c82 --- /dev/null +++ b/modules/server/Dockerfile @@ -0,0 +1,7 @@ +FROM ubuntu:22.04 + +WORKDIR /app +COPY --chmod=755 nyanimedb /app +COPY templates /app/templates +EXPOSE 8080 +ENTRYPOINT ["/app/nyanimedb"] \ No newline at end of file