diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml index 56db580..6878775 100644 --- a/.gitea/workflows/deploy.yml +++ b/.gitea/workflows/deploy.yml @@ -1,23 +1,44 @@ -name: CI/CD Deployment +name: Production Build & Deploy on: push: branches: - master - main + - staging jobs: - deploy: - runs-on: ubuntu-latest + build-and-deploy: + runs-on: webserver steps: - - name: Deploy via SSH - uses: appleboy/ssh-action@master + - name: Code auschecken + uses: actions/checkout@v4 + + - name: Docker login to Gitea registry + run: echo "${{ secrets.REGISTRY_TOKEN }}" | docker login gitea.hephex.de -u "${{ secrets.REGISTRY_USER }}" --password-stdin + + - name: Build Docker image + run: | + docker build -t gitea.hephex.de/daniel/websitedummy:latest -f Dockerfile . + + - name: Push Docker image + run: docker push gitea.hephex.de/daniel/websitedummy:latest + + - name: Clean up runner Docker cache + run: | + docker image prune -f + docker builder prune -f + + - name: Deploy via SSH to Debian Server + uses: appleboy/ssh-action@v0.1.5 with: - host: ${{ secrets.DEBIAN_HOST }} - username: ${{ secrets.DEBIAN_USER }} - key: ${{ secrets.SSH_PRIVATE_KEY }} - port: 22 + host: 192.168.178.132 + username: ${{ secrets.PROXMOX_USER }} + key: ${{ secrets.PROXMOX_SSH_KEY }} script: | cd /opt/websitedummy - git pull origin master || git pull origin main - docker compose up -d --build + # Docker Login auf dem Zielserver + echo "${{ secrets.REGISTRY_TOKEN }}" | docker login gitea.hephex.de -u "${{ secrets.REGISTRY_USER }}" --password-stdin + docker compose pull + docker compose up -d + docker image prune -f diff --git a/docker-compose.yml b/docker-compose.yml index 057bb5d..0b71d47 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -2,8 +2,7 @@ version: '3.8' services: websitedummy: - build: . - image: websitedummy:latest + image: gitea.hephex.de/daniel/websitedummy:latest container_name: websitedummy restart: always read_only: true