All checks were successful
Deploy / build-and-deploy (push) Successful in 1m41s
39 lines
1.1 KiB
YAML
39 lines
1.1 KiB
YAML
name: Deploy
|
|
run-name: Deploy to barabingo
|
|
|
|
on:
|
|
push:
|
|
branches: [main, master]
|
|
|
|
jobs:
|
|
build-and-deploy:
|
|
runs-on: [ubuntu-22.04]
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Set up Docker Buildx
|
|
uses: docker/setup-buildx-action@v3
|
|
|
|
- name: Install SSH key
|
|
run: |
|
|
mkdir -p ~/.ssh
|
|
echo "${{ secrets.SSH_PKEY }}" > ~/.ssh/id_ed25519
|
|
chmod 600 ~/.ssh/id_ed25519
|
|
ssh-keyscan -H barabingo >> ~/.ssh/known_hosts 2>/dev/null
|
|
|
|
- name: Build Docker image
|
|
run: |
|
|
docker build -t barabingo:latest .
|
|
|
|
- name: Save and compress image
|
|
run: |
|
|
docker save barabingo:latest | gzip > /tmp/barabingo.tar.gz
|
|
|
|
- name: Copy files to server
|
|
run: |
|
|
scp /tmp/barabingo.tar.gz docker-compose.yml root@barabingo:/opt/barabingo/
|
|
|
|
- name: Deploy on server
|
|
run: |
|
|
ssh root@barabingo 'cd /opt/barabingo && docker load < barabingo.tar.gz && docker compose down --remove-orphans 2>/dev/null; docker compose up -d && rm -f barabingo.tar.gz && docker image prune -f'
|