From 4ddf79290ed900456c074ba4b61e08ac11414bc8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Murat=20O=CC=88zkorkmaz?= Date: Wed, 22 Oct 2025 00:51:25 +0200 Subject: [PATCH] CI test --- .gitea/workflows/deploy.yml | 48 ++++++++++++++++++++++++++++--------- 1 file changed, 37 insertions(+), 11 deletions(-) diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml index 247b569..9aef15d 100644 --- a/.gitea/workflows/deploy.yml +++ b/.gitea/workflows/deploy.yml @@ -39,22 +39,34 @@ jobs: - name: Deploy to Remote Server uses: appleboy/ssh-action@v1.0.3 with: - host: ${{ secrets.SSH_HOST }} - username: ${{ secrets.SSH_USERNAME }} - key: ${{ secrets.SSH_PRIVATE_KEY }} - port: ${{ secrets.SSH_PORT }} + host: ${{ secrets.DEPLOY_HOST }} + username: ${{ secrets.DEPLOY_USER }} + key: ${{ secrets.DEPLOY_SSH_PRIVATE_KEY }} + port: ${{ secrets.DEPLOY_SSH_PORT || '22' }} script: | + set -e + + echo "=== Starting deployment ===" + # Login to Container Registry + echo "Logging in to registry..." echo "${{ secrets.CI_GITEA_TOKEN }}" | docker login ${{ vars.REGISTRY_URL }} -u ${{ secrets.CI_GITEA_USER }} --password-stdin # Pull new image + echo "Pulling new image..." docker pull ${{ vars.REGISTRY_URL }}/${{ vars.NAMESPACE }}/${{ vars.REPO_NAME }}:${{ github.sha }} - # Stop and remove old container - docker stop skamp-app || true - docker rm skamp-app || true + # Stop and remove old container (with retry logic) + echo "Stopping old container..." + if docker ps -a --format '{{.Names}}' | grep -q "^skamp-app$"; then + docker stop skamp-app || true + sleep 2 + docker rm -f skamp-app || true + sleep 1 + fi # Start new container with environment variables + echo "Starting new container..." docker run -d \ --name skamp-app \ --restart unless-stopped \ @@ -73,8 +85,22 @@ jobs: -e JAVA_OPTS="${{ secrets.JAVA_OPTS }}" \ ${{ vars.REGISTRY_URL }}/${{ vars.NAMESPACE }}/${{ vars.REPO_NAME }}:${{ github.sha }} - # Clean up old images - docker image prune -af --filter "until=168h" + # Wait for container to start + echo "Waiting for container to start..." + sleep 3 - # Show running container - docker ps --filter name=skamp-app + # Check if container is running + if docker ps --filter name=skamp-app --format '{{.Names}}' | grep -q "skamp-app"; then + echo "✓ Container started successfully" + docker ps --filter name=skamp-app + else + echo "✗ Container failed to start" + docker logs skamp-app + exit 1 + fi + + # Clean up old images + echo "Cleaning up old images..." + docker image prune -af --filter "until=168h" || true + + echo "=== Deployment completed ==="