diff --git a/.gitea/workflows/docker-build.yaml b/.gitea/workflows/docker-build.yaml new file mode 100644 index 0000000..32e7b72 --- /dev/null +++ b/.gitea/workflows/docker-build.yaml @@ -0,0 +1,68 @@ +name: Build and Push Docker Images + +on: + push: + branches: + - main + tags: + - 'v*' + +env: + REGISTRY: gitea.zuev.company # Замените на реальный домен вашего Gitea + BACKEND_IMAGE: zuev/magistr-backend + FRONTEND_IMAGE: zuev/magistr-frontend + +jobs: + build-and-push-backend: + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@v3 + + - name: Log in to the Container registry + uses: docker/login-action@v2 + with: + registry: ${{ env.REGISTRY }} + username: ${{ github.actor }} + password: ${{ secrets.ZUEV_TOKEN }} # Нужно создать секрет ZUEV_TOKEN в настройках репозитория (Personal Access Token) + + - name: Extract metadata (tags, labels) for Docker + id: meta + uses: docker/metadata-action@v4 + with: + images: ${{ env.REGISTRY }}/${{ env.BACKEND_IMAGE }} + + - name: Build and push Docker image + uses: docker/build-push-action@v4 + with: + context: ./backend + push: true + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} + + build-and-push-frontend: + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@v3 + + - name: Log in to the Container registry + uses: docker/login-action@v2 + with: + registry: ${{ env.REGISTRY }} + username: ${{ github.actor }} + password: ${{ secrets.ZUEV_TOKEN }} + + - name: Extract metadata (tags, labels) for Docker + id: meta + uses: docker/metadata-action@v4 + with: + images: ${{ env.REGISTRY }}/${{ env.FRONTEND_IMAGE }} + + - name: Build and push Docker image + uses: docker/build-push-action@v4 + with: + context: ./frontend + push: true + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} diff --git a/.gitignore b/.gitignore index 93426d7..6b4c2cd 100755 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,4 @@ -# Игнорируем данные БД (но не init-скрипты) db/data/ - -# Игнорируем секреты .env # Игнорируем временные файлы сборки (на будущее) @@ -9,3 +6,10 @@ backend/target/ backend/build/ frontend/node_modules/ frontend/dist/ + +.agents +.idea/ +.vscode/ +*.DS_Store +AGENTS.md +GEMINI.md \ No newline at end of file