53 lines
1.6 KiB
YAML
53 lines
1.6 KiB
YAML
name: Deploy
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
push:
|
|
branches:
|
|
- main
|
|
|
|
jobs:
|
|
deploy:
|
|
name: Deploy
|
|
runs-on: ubuntu-latest
|
|
environment:
|
|
name: docs.pluginpal.io
|
|
url: https://docs.pluginpal.io
|
|
steps:
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v3
|
|
|
|
- name: Set up Docker
|
|
uses: actions/setup-node@v3
|
|
with:
|
|
node-version: '14'
|
|
|
|
- name: Build a Docker image
|
|
run: |
|
|
docker build \
|
|
-t pluginpal-docs:latest .
|
|
docker save -o pluginpal-docs-latest.tar pluginpal-docs:latest
|
|
|
|
- name: Transfer the Docker image to the Dokku server
|
|
uses: appleboy/scp-action@v0.1.3
|
|
with:
|
|
host: ${{ secrets.SSH_HOST }}
|
|
username: ${{ secrets.SSH_CI_USERNAME }}
|
|
password: ${{ secrets.SSH_CI_PASSWORD }}
|
|
source: pluginpal-docs-latest.tar
|
|
target: /var/lib/dokku/data/storage/docs/docker-images
|
|
|
|
- name: Deploy the Dokku app based on the Docker image
|
|
uses: appleboy/ssh-action@v0.1.10
|
|
with:
|
|
host: ${{ secrets.SSH_HOST }}
|
|
username: ${{ secrets.SSH_CI_USERNAME }}
|
|
password: ${{ secrets.SSH_CI_PASSWORD }}
|
|
script_stop: true
|
|
script: |
|
|
sudo docker load -i /var/lib/dokku/data/storage/docs/docker-images/pluginpal-docs-latest.tar
|
|
DOCS_LATEST_IMAGE=$(sudo docker images --format "{{.ID}}" pluginpal-docs:latest)
|
|
sudo docker tag pluginpal-docs:latest pluginpal-docs:$DOCS_LATEST_IMAGE
|
|
dokku git:from-image docs pluginpal-docs:$DOCS_LATEST_IMAGE
|
|
sudo docker system prune --all --force
|