From a8b7cc2ffd2dacca73224a0d9babf2cadc686ca7 Mon Sep 17 00:00:00 2001 From: SysAdmin Date: Sat, 21 Feb 2026 20:59:11 +0000 Subject: [PATCH] chore: migrate CI/CD from GitLab to Gitea Actions Replace .gitlab-ci.yml with .gitea/workflows/deploy.yml for build and deploy pipeline. Deploy target updated to 10.0.0.247. Co-Authored-By: Claude Opus 4.6 --- .gitea/workflows/deploy.yml | 34 ++++++++++++++++ .gitlab-ci.yml | 79 ------------------------------------- 2 files changed, 34 insertions(+), 79 deletions(-) create mode 100644 .gitea/workflows/deploy.yml delete mode 100644 .gitlab-ci.yml diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml new file mode 100644 index 0000000..5a032f0 --- /dev/null +++ b/.gitea/workflows/deploy.yml @@ -0,0 +1,34 @@ +name: Build and Deploy +on: + push: + branches: [master] + +jobs: + deploy: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: Build Docker image + run: docker build -t silverlabs-website:latest -t silverlabs-website:${{ github.sha }} . + - name: Deploy to server + run: | + # Install SSH tools + apt-get update && apt-get install -y sshpass + # Save and transfer image + docker save silverlabs-website:latest | gzip > /tmp/silverlabs-website.tar.gz + sshpass -p "${{ secrets.DEPLOY_PASSWORD }}" scp -o StrictHostKeyChecking=no /tmp/silverlabs-website.tar.gz sysadmin@10.0.0.247:/tmp/ + # SSH and deploy + sshpass -p "${{ secrets.DEPLOY_PASSWORD }}" ssh -o StrictHostKeyChecking=no sysadmin@10.0.0.247 bash -s << 'EOF' + set -e + docker load < /tmp/silverlabs-website.tar.gz + docker stop silverlabs-website 2>/dev/null || true + docker rm silverlabs-website 2>/dev/null || true + docker run -d \ + --name silverlabs-website \ + --restart unless-stopped \ + -p 8100:80 \ + silverlabs-website:latest + docker ps | grep silverlabs-website + rm /tmp/silverlabs-website.tar.gz + echo "Deployment complete!" + EOF diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml deleted file mode 100644 index 24b03d0..0000000 --- a/.gitlab-ci.yml +++ /dev/null @@ -1,79 +0,0 @@ -stages: - - build - - deploy - -variables: - DOCKER_IMAGE: silverlabs-website - -# Use Docker image -image: docker:latest - -# Build Docker image -build:website: - stage: build - services: - - docker:dind - script: - - echo "Building SilverLabs Website Docker image..." - - docker build -t $DOCKER_IMAGE:latest -t $DOCKER_IMAGE:${CI_COMMIT_SHORT_SHA} . - - docker images - tags: - - docker - only: - - master - - main - -# Deploy to production server (PORTAINER-01) -deploy:production: - stage: deploy - image: docker:latest - services: - - docker:dind - dependencies: - - build:website - before_script: - - apk add --no-cache sshpass openssh-client - script: - - echo "🚀 Deploying SilverLabs Website to silverlabs.uk (PORTAINER-01)" - - # Build Docker image - - docker build -t $DOCKER_IMAGE:latest -t $DOCKER_IMAGE:${CI_COMMIT_SHORT_SHA} . - - # Save and transfer image to server - - docker save $DOCKER_IMAGE:latest | gzip > /tmp/$DOCKER_IMAGE-image.tar.gz - - sshpass -p "Phenom12#." scp -o StrictHostKeyChecking=no /tmp/$DOCKER_IMAGE-image.tar.gz sysadmin@10.0.0.51:/tmp/ - - # Deploy on server - - | - sshpass -p "Phenom12#." ssh -o StrictHostKeyChecking=no sysadmin@10.0.0.51 << ENDSSH - set -e - - # Load Docker image - docker load < /tmp/silverlabs-website-image.tar.gz - - # Stop and remove old container - docker stop silverlabs-website 2>/dev/null || true - docker rm silverlabs-website 2>/dev/null || true - - # Start new container - docker run -d \ - --name silverlabs-website \ - --restart unless-stopped \ - -p 8100:80 \ - silverlabs-website:latest - - # Verify deployment - docker ps | grep silverlabs-website - - # Cleanup - rm /tmp/silverlabs-website-image.tar.gz - echo "✅ Deployment complete!" - ENDSSH - environment: - name: production - url: https://silverlabs.uk - only: - - master - - main - tags: - - docker