Skip to content

i think this will work #45

i think this will work

i think this will work #45

Workflow file for this run

name: "ci / prod"
on:
push:
branches:
- main
workflow_dispatch:
jobs:
deploy:
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
deployments: write
env:
DB_NAME: ${{ secrets.DB_NAME_PROD }}
MONGO_URI: ${{ secrets.MONGO_URI_PROD }}
ENVIRONMENT: ${{ secrets.ENVIRONMENT_PROD }}
EXPO_TOKEN: ${{ secrets.EXPO_TOKEN_PROD }}
JWT_SECRET: ${{ secrets.JWT_SECRET_PROD }}
MAILGUN_API_KEY: ${{ secrets.MAILGUN_API_KEY_PROD }}
MAILGUN_ENDPOINT: ${{ secrets.MAILGUN_ENDPOINT_PROD }}
MAILGUN_FROM_EMAIL: ${{ secrets.MAILGUN_FROM_EMAIL_PROD }}
DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }}
steps:
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Login to GHCR
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build and push container image
uses: docker/build-push-action@v5
with:
context: .
file: ./Dockerfile.prod
platforms: linux/amd64
push: true
tags: ghcr.io/frc-emotion/prod-nautilus-backend:amd-latest
- name: Connect to server and trigger redeploy of docker containers
uses: appleboy/[email protected]
with:
host: "api.team2658.org"
username: "root"
key: ${{ secrets.SSH_KEY }}
port: 22
script: |
docker logout ghcr.io
docker login ghcr.io -u ${{ github.actor }} -p ${{ secrets.GITHUB_TOKEN }}
docker pull ghcr.io/frc-emotion/prod-nautilus-backend:amd-latest
docker stop prod-nautilus-backend || true
docker rm prod-nautilus-backend || true
docker run -d --name prod-nautilus-backend -e DISCORD_WEBHOOK="${{ env.DISCORD_WEBHOOK }}" -e DB_NAME="${{ env.DB_NAME }}" -e MONGO_URI="${{ env.MONGO_URI }}" -e ENVIRONMENT="${{ env.ENVIRONMENT }}" -e EXPO_TOKEN="${{ env.EXPO_TOKEN }}" -e JWT_SECRET="${{ env.JWT_SECRET }}" -e MAILGUN_API_KEY="${{ env.MAILGUN_API_KEY }}" -e MAILGUN_ENDPOINT="${{ env.MAILGUN_ENDPOINT }}" -e MAILGUN_FROM_EMAIL="${{ env.MAILGUN_FROM_EMAIL }}" -p 7000:7000 ghcr.io/frc-emotion/prod-nautilus-backend:amd-latest
docker logout ghcr.io