Skip to content

Docker Image CI

Docker Image CI #21

Workflow file for this run

name: Docker Image CI
on:
workflow_dispatch:
jobs:
build_and_publish:
runs-on: ubuntu-latest
steps:
-
name: Checkout the repository
uses: actions/checkout@v4
-
name: Set up QEMU
uses: docker/setup-qemu-action@v3
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
-
name: Log into GHCR
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{secrets.GH_USERNAME}}
password: ${{secrets.GH_PAT}}
-
name: Build and push
uses: docker/build-push-action@v5
with:
context: Code/.
push: true
tags: ghcr.io/ak2466/plantpals:latest
deploy:
needs: build_and_publish
runs-on: ubuntu-latest
steps:
-
name: SSH
uses: appleboy/ssh-action@v1.0.3
with:
host: ${{ secrets.HOST }}
username: ${{ secrets.SERVER_USERNAME }}
key: ${{ secrets.SSH_KEY }}
port: ${{ secrets.SSH_PORT }}
script: |
docker ps -aq | xargs docker stop | xargs docker rm
docker rmi -f $(docker images -aq)
service docker restart
docker pull ghcr.io/ak2466/plantpals:latest
docker run -d -p 80:80 -v ./db:/usr/src/app/db ghcr.io/ak2466/plantpals:latest
echo "Deployment completed."