Antes de ir para a prática, precisamos entender a diferença de um site
estático e um site dinâmico:
Site Estático
Sites estáticos tem um conteúdo que não muda (a não ser que você mude diretamente pelo código), e
todo o processamento de informações é feito na máquina do usuário, a maioria dos sites é
estático, podendo dar de exemplo: Portfolios, Sites de informações sobre empresas/instituições, ou
álbuns de fotos online.
Site Dinâmico
Sites dinâmicos podem mudar seu conteúdo sem a interação do desenvolvedor e normalmente têm maior
complexidade, além de um lado do servidor, que troca informações com o usuário em tempo real,
normalmente esse servidor é feito com PHP, Node.Js ou Python, mas não se restrinja só a eles!
Com essas informações em mente, classifique seu site como estático ou dinâmico e siga os passos dependendo da
classificação:
Hospedando sites estáticos
Sorte sua, é muito fácil!
- Abra o repositório a ser hospedado pelo Github;
- Na barra de navegação do repositório localizada em cima do código e clique em configurações;
- Na aba que apareceu à esquerda, clique no botão Pages;
- Deixe a opção de dar deploy (veja o card em roxo na parte de baixo da página) por uma branch (valor
padrão), e escolha uma branch para dar deploy no seu site;
- Espere até que a plataforma hospede seu projeto;
- Clique no link gerado na parte superior da página e aproveite seu site diretamente na internet!
Hospedando sites Dinâmicos
Quando o assunto são sites dinâmicos, a hospedagem deles via Pages é mais complicada, já que temos que
hospedar o lado do cliente e do servidor, para isso, usamos um robô para automatizar esse processo, processo
esse feito em .yml:
- Dentro do seu projeto, crie a sequência de arquivos .github/workflows/build.yml;
- Dentro do build.yml, cole esse código:
name: deploy
on:
push:
branches:
- main
jobs:
deploy:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v1
with:
node-version: '18.x'
- name: Build web-app
run: |
npm ci
npm run build
#faz a build do projeto
- name: Deploy to gh-pages
uses: peaceiris/actions-gh-pages@v3
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./build
- Agora, na pasta do projeto, acesse o arquivo package.json (que guarda informações sobre o projeto, como dependências e preferências)
- adicione abaixo da versão do projeto, a linha "homepage": "***/", onde *** é o que quer que esteja escrito na chave "name" (não esqueça da barra no final!)
- Com as alterações feitas, acesse no seu repositório: settings>actions>general e, ao fim da página:
- marque a checkbox Allow GitHub Actions to create and approve pull requests;
- Marque o radio (checkbox redonda) Read and write permissions;
- Clique em save;
- Agora, acesse no seu repositório o menu actions e veja o deploy sendo feito automaticamente!
- NOTA IMPORTANTE: Se a ação não ser rodada, vá para a aba actions no repositório e rode as ações falhadas novamente.
Build e Deploy
ℹ
Os dois são termos usados na hora de enviar o site para o público-alvo (seja o cliente ou a internet);
- Build (ou construção) é o ato de transformar o código fonte do seu projeto em uma versão
processada que será executada pela máquina.
- Deploy (ou implantação) é o ato de pegar a build feita e, a partir dela, tornar o projeto
acessível para os usuários.
Juntos, eles são os dois processos que fazem o processo de pegar as informações feitas pelos
desenvolvedores e enviá-las de maneira funcional para quem há de usar o código.
CI e CD
ℹ
São siglas que remetem à boas práticas feitas na área do desenvolvimento que significam:
- CI - Integração contínua: Remete à continuamente integrar/unir os códigos feitos pelos devs
para que não hajam incompatibilidades no projeto.
- CD - Entrega contínua: Processo de, ao unificar o sistema, buildar e dar deploy no sistema
(normalmente de forma automáica) para que o cliente esteja sempre à par das atualizações feitas pela
equipe de desenvolvimento