chore: migrate CI/CD from GitLab to Gitea Actions
All checks were successful
Build and Deploy / deploy (push) Successful in 19s
All checks were successful
Build and Deploy / deploy (push) Successful in 19s
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 <noreply@anthropic.com>
This commit is contained in:
34
.gitea/workflows/deploy.yml
Normal file
34
.gitea/workflows/deploy.yml
Normal file
@@ -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
|
||||
@@ -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
|
||||
Reference in New Issue
Block a user