* OBS: Apenas para apps criados com create-react-app
Criar uma aplicação React e fazer o deploy no GitHub para hospedar e rodar no GitHub Pages.
- Criar o projeto React usando o
create-react-app
. - Fazer o deploy no GitHub Pages usando o pacote do npm
gh-pages
.
* OBS: Configurar antes de usar
-
Para fazer o deploy das alterações salvas na branch
main
para a branchgh-pages
, basta rodar:$ npm run deploy
OBS: Não precisa fazer
commit
epush
.
* OBS: Para apps já existentes criados com
create-react-app
1. Instalar o pacote do npm gh-pages
$ npm install gh-pages --save-dev
{
"name": "my-app",
"version": "0.1.0",
+ "homepage": "https://marcos-vcg.github.io/nome-do-repositorio",
"private": true,
"scripts": {
+ "predeploy": "npm run build",
+ "deploy": "gh-pages -d build",
"start": "react-scripts start",
"build": "react-scripts build",
$ npm run deploy
- No projeto acesse
"SETTINGS"
,"Code and Automation"
,"PAGES"
- Configure o "Build and deployment"
- Source:
Deploy from a branch
- Branch:
gh-pages
- Folder:
/ (root)
- Source:
-
Criar um app React e entrar na pasta do projeto:
$ npx create-react-app my-app $ cd my-app
-
Instale o
gh-pages
:$ npm install gh-pages --save-dev
-
Adicine a propriedade
homepage
com esse valor:https://{username}.github.io/{nome-do-repositorio}
Substitua
{username}
com o seu username do GitHub e{nome-do-repositorio}
com o nome do repositório GitHub que você criou no passo 1.{ "name": "my-app", "version": "0.1.0", + "homepage": "https://marcos-vcg.github.io/nome-do-repositorio", "private": true,
-
Adicione as propriedades
predeploy
edeploy
nosscripts
:"scripts": { + "predeploy": "npm run build", + "deploy": "gh-pages -d build", "start": "react-scripts start", "build": "react-scripts build",
-
Vincule o repositório local com o "remote" apontando para o repositório remoto no GitHub.
$ git remote add origin https://github.com/{username}/{repo-name}.git
Substitua
{username}
com o seu username do GitHub e{repo-name}
com o nome do repositório GitHub que você criou no passo 1.Esse comando informa ao Git para onde eu quero que ele envie as alterações sempre que for usado o comando
$ git push
por mim, ou pelo npm packagegh-pages
agindo em meu nome.
-
Deploy no github pages:
$ npm run deploy
Esse comando vai rodar os scripts
predeploy
edeploy
definidos nopackage.json
O script
predeploy
vai construir uma versão distribuível da aplicação React e guardá-la na pastabuild
. Em seguida, o scriptdeploy
vai fazer um novoCOMMIT and PUSH
dessa pastabuild
na branchgh-pages
que será criada automaticamente caso ainda não exista.Por padrão os commits da branch
gh-pages
terão a mensagem de "Updates". você pode especificar a mensagem por meio do comando-m
, como está abaixo:$ npm run deploy -- -m "Deploy React app to GitHub Pages"
O GitHub Pages vai detectar automaticamente os commits publicados na branch
gh-pages
do repositorio. Assim que for detectado atualizaçoes nessa branch, o GitHub Pages irá publicar a nova distribuição do projeto na URLhomepage
que foi especificada no passo 4.
- Acesse o repositório do projeto e selecione a aba de
"SETTINGS"
- Na barra lareral na seção de
"Code and Automation"
selecione"PAGES"
- Configure o "Build and deployment"
- Source:
Deploy from a branch
- Branch:
gh-pages
- Folder:
/ (root)
- Source:
- OBS: Nao esqueça de clicar no botão
"SALVAR"
e aguarde alguns minutos.
-
Prontinho! O prejeto React foi publicado no GitHub Pages! Agora é só acessar e compartilhar.
https://username.github.io/nome-do-repositorio