55 lines
1.9 KiB
YAML
55 lines
1.9 KiB
YAML
name: Build & Deploy
|
|
run-name: Build & Deploy
|
|
on: [push]
|
|
|
|
jobs:
|
|
build:
|
|
env:
|
|
GATSBY_FIREBASE_API_KEY: ${{ secrets.GATSBY_FIREBASE_API_KEY }}
|
|
GATSBY_AUTH_DOMAIN: "spencassemble-sol-journal.firebaseapp.com"
|
|
GATSBY_DATABASE_URL: "https://spencassemble-sol-journal.firebaseio.com"
|
|
GATSBY_PROJECT_ID: "spencassemble-sol-journal"
|
|
GATSBY_STORAGE_BUCKET: "spencassemble-sol-journal.appspot.com"
|
|
GATSBY_MESSAGING_SENDER_ID: "299522647169"
|
|
GATSBY_APP_ID: "1:299522647169:web:fc74af44747fd7cef79980"
|
|
runs-on: docker
|
|
container:
|
|
image: node:latest
|
|
steps:
|
|
- name: Check out repository code
|
|
uses: actions/checkout@v4
|
|
- run: npm ci
|
|
- run: npm run build
|
|
- name: build artifacts
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
name: dist
|
|
path: |
|
|
public
|
|
|
|
deploy:
|
|
runs-on: docker
|
|
container:
|
|
image: docker:20.10.22
|
|
environment:
|
|
name: sol-journal
|
|
url: http://sol-journal.spencassemble.com/
|
|
steps:
|
|
- run: apk --update add nodejs
|
|
- name: Download artifacts
|
|
uses: actions/download-artifact@v3
|
|
- name: Login to Docker Hub
|
|
uses: docker/login-action@v3
|
|
with:
|
|
username: ${{ secrets.DOCKERUSER }}
|
|
password: ${{ secrets.DOCKERPASS }}
|
|
- name: Build and push
|
|
uses: docker/build-push-action@v5
|
|
with:
|
|
push: true
|
|
tags: spencerpincott/sol-journal:1.${{ gitea.workflow }}
|
|
- run: docker stop sol-journal
|
|
- run: docker rm sol-journal
|
|
- run: docker run -dit -p 5000:80 --name sol-journal --restart=always spencerpincott/sol-journal:1.${{ gitea.workflow }}
|
|
|