Como fazer deploy de uma aplicação Nullstack no GitHub Pages
Altere seu script build no package.json
para incluir --mode=ssg
:
"build": "npx nullstack build --mode=ssg",
No seu repositório em /settings/pages
você pode:
- configurar em qual branch você vai servir arquivos estáticos
- configurar em qual pasta você vai servir arquivos estáticos
Para as configurações abaixo, escolha master
como o branch que você vai usar e a pasta raiz /
como a pasta que você quer usar.
Crie o arquivo .github/workflows/ssg-build.yml
(sendo main
o branch que vai causar o deploy).
Na parte de build abaixo, atualize as variáveis de ambiente para construir a aplicação com as configurações corretas.
NULLSTACK_PROJECT_NAME
- nome do seu projetoNULLSTACK_PROJECT_DOMAIN
- domínio, necessário para mostrar as meta tags corretamente- se você tiver um domínio diferente, você também deve criar o arquivo
public/CNAME
contendo o nome do seu domínio
- se você tiver um domínio diferente, você também deve criar o arquivo
NULLSTACK_PROJECT_COLOR
- cor da sua aplicação
✨ Você pode alternativamente guardar estes valores de ambiente na seção de segredos do GitHub.
name: Nullstack SSG Build and Deploy
on:
push:
branches: [main]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Cache dependencies
uses: actions/cache@v3
with:
path: |
**/node_modules
**/yarn.lock
**/.production
key: node_modules-${{ hashFiles('**/package.json') }}
- name: Install deps
run: yarn
- name: Build
env:
NULLSTACK_PROJECT_NAME: 'Nullstack Project Name'
NULLSTACK_PROJECT_DOMAIN: 'some-awesome-nullstack-project.com'
NULLSTACK_PROJECT_COLOR: '#D22365'
run: yarn build --cache
- name: Deploy 🚀
uses: JamesIves/github-pages-deploy-action@v4.3.3
with:
branch: master
folder: built
Esta ação irá construir sua aplicação em modo SSG e irá gerar a pasta contendo seu site estático, o último comando vai pegar a pasta estática e jogar no branch master
permitindo o GitHub servir o conteúdo estático diretamente da pasta raiz.