Deploy to Production (on VPS) #1840
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Deploy to Production (on VPS) | |
on: | |
push: | |
branches: [ main ] | |
# Allows you to run this workflow manually from the Actions tab | |
workflow_dispatch: | |
# source: https://stackoverflow.com/a/65698892 | |
# triggers this deployment after scaper runs | |
# for now this might have superfluous runs because the | |
# scraper will run and not commit anything, but after #215 is solved | |
# then it should only run after castablasta pushes a new episode | |
workflow_run: | |
# putting the comment here to enable prod changes in the future to leverage the created containers | |
workflows: ["Scrape and commit"] #, "Building Prod Container"] | |
types: | |
- completed | |
jobs: | |
deploy-via-tailscale: | |
runs-on: ubuntu-latest | |
steps: | |
# deploys using alexktz tailnet | |
- name: Connect Tailscale | |
uses: tailscale/github-action@v2 | |
with: | |
oauth-client-id: ${{ secrets.TS_OAUTH_CLIENT_ID }} | |
oauth-secret: ${{ secrets.TS_OAUTH_SECRET }} | |
tags: tag:ci | |
- name: Do the deploy thing | |
run: | | |
ssh -o "StrictHostKeyChecking no" ironicbadger@jb-core " | |
docker login ghcr.io -u ${{ github.actor }} -p ${{ secrets.GHCR_TOKEN }} | |
cd ${{ secrets.VPS_PROJECT_PATH }} | |
git pull | |
docker build -t ghcr.io/jupiterbroadcasting/jupiterbroadcasting.com:latest . | |
docker push ghcr.io/jupiterbroadcasting/jupiterbroadcasting.com:latest | |
docker container prune -f | |
docker image prune -f | |
docker compose -f ~/docker-compose.yml up -d jb-jbcom | |
" |