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