31 lines
1.0 KiB
YAML
31 lines
1.0 KiB
YAML
name: deploy
|
|
|
|
on:
|
|
push:
|
|
branches: [main]
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
deploy:
|
|
# Requires a Gitea act runner with network access to the LXC host.
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Configure SSH
|
|
run: |
|
|
install -m 600 /dev/null ~/.ssh/id_ed25519
|
|
echo "${{ secrets.DEPLOY_SSH_KEY }}" > ~/.ssh/id_ed25519
|
|
echo "${{ secrets.DEPLOY_KNOWN_HOSTS }}" > ~/.ssh/known_hosts
|
|
|
|
- name: Deploy
|
|
env:
|
|
SSH_HOST: ${{ secrets.DEPLOY_HOST }} # e.g. deploy@10.0.0.42
|
|
SSH_PORT: ${{ secrets.DEPLOY_PORT }} # e.g. 2222
|
|
DEPLOY_DIR: ${{ secrets.DEPLOY_DIR }} # e.g. /opt/ai-rendezvous
|
|
DEPLOY_MODE: ${{ secrets.DEPLOY_MODE }} # docker | systemd
|
|
SERVICE_NAME: ${{ secrets.DEPLOY_SERVICE }} # systemd mode only
|
|
HEALTH_URL: ${{ secrets.DEPLOY_HEALTH_URL }} # e.g. http://127.0.0.1:3000/health
|
|
run: ./scripts/deploy.sh
|