= Como usar o AWS Amplify para implantar um aplicativo React =
== Um guia para implantar aplicativos React com AWS Amplify ==
![ ](httpsmiro.medium.com/max/1400/1*pKiBeVwoxaHc_QlhIpVgSA.gif)
Desde que comecei a prestar consultoria como Engenheiro de Software, eu queria montar um site de portfólio que mostrasse o
projetos pessoais e profissionais em que trabalhei. Nas férias de inverno, passei um tempo projetando, desenvolvendo e implantando meu site de portfólio e, neste artigo, mostrarei como o implantei com o AWS Amplify. Você pode visualizar o site em dan-murphy.com e o código no GitHub.
= Um Breve Histórico =
A maior parte do meu trabalho profissional envolve a criação de aplicativos orientados a dados e a simplificação de pipelines de dados. Para realizar essas tarefas, eu uso regularmente Python e Ruby e incorporo JavaScript para qualquer trabalho de front-end. Em um esforço para me sentir mais confortável com o React, decidi usar a estrutura para criar meu site de portfólio.
= Configurando o Aplicativo =
O primeiro passo que dei foi decidir como estruturar o aplicativo. eu utilizei
create-react-app como modelo base para meus diretórios e reestruturei o aplicativo com algumas pastas adicionais. A configuração finalizada fica assim:
origem
componentes
arquivos
extras
dados
imagens
Páginas
conteúdo
dados
estilos
testes
luminárias
Algumas das mudanças notáveis são a
**componentes**
, e
**Páginas**
diretórios.
**estilos**
,
: é aqui que armazeno todos os componentes do aplicativo. Ao armazenar os componentes em uma pasta centralizada, é mais fácil reutilizar e refatorar meu código e mais intuitivo para os outros entenderem. Alguns dos componentes que compõem o site do meu portfólio são
componentes
Cabeçalho,
Rodapé, e
ProjectSidebar.
: é aqui que construo as páginas distintas para o aplicativo. Eu importo os componentes necessários do
Páginas
pasta e, em seguida, agregue-os para criar a página. Aqui está um exemplo de como eu fiz isso para o
página inicial dos componentes:
: é aqui que defino estilos CSS globais para o aplicativo. eu amo usar
estilos
styled-componentspara componentes individuais, mas também achei útil criar estilos globais disponíveis para cada página.
Por fim, para mapear solicitações para as páginas corretas, usamos
react-router-dom. As rotas são definidas no
App.js como mostrado abaixo:
Isso irá mapear
Pagina inicial,
/projetos solicitações para
ProjetosPágina,
/sobre pedidos para
SobrePágina e
/bookshelf solicita para
BookPage. Agora que o desenvolvimento do aplicativo está concluído, precisamos implantá-lo para que outras pessoas possam usá-lo!
/pedidos para
= Implantando com o AWS Amplify =
== Resumo ==
Existem várias maneiras de implantar um site React, mas descobri que uma das mais simples é usar
**Amplify Amplify é descrito como a maneira mais rápida e fácil de criar aplicativos móveis e da Web que podem ser dimensionados. Para conseguir isso, A AWS extrapola todas as complicações de configurar um servidor, instalar dependências e criar uma versão de produção do seu site, permitindo que você se concentre apenas na criação de uma UX intuitiva. Para saber mais sobre o que o AWS Amplify oferece para aplicativos baseados em dados (especificamente, sites com **front-end** e **back-end, consulte a documentação.
== Conectando seu repositório ==
Para hospedar seu aplicativo da web no AWS Amplify, primeiro você precisa conectar o repositório que contém seu código-fonte. Para fazer isso, você pode navegar até o
*AWS Amplify* *Primeiros passos* **Hospede o My Web App e clique em **Connect app repo *página, role até a*página, role até ![ ](httpsmiro.medium.com/max/1400/1*2OLIf9dDvf2ZDqjhXUXuGw.png )
Em seguida, você será redirecionado para uma página separada, onde poderá conectar o repositório que contém seu código-fonte. Para este exemplo, escolherei o GitHub, mas o AWS Amplify também oferece suporte a BitBucket, GitLab, AWS CodeCommit e até mesmo implantação sem um provedor Git.
![ ](httpsmiro.medium.com/max/1400/1*Dq8nN8mntiNegYIXarbtAw.png)
Após a autorização bem-sucedida, você pode selecionar qual repositório deseja implantar e selecionar a ramificação que o AWS Amplify deve usar para compilações de produção.
![ ](httpsmiro.medium.com/max/1400/1*OOlYA6q2eCplw4hW2IQP8Q.png)
Depois disso, clique
**Avançar** e a AWS solicitará que você defina suas configurações de *construção* e *teste*. O modelo base que a AWS fornece é mostrado abaixo.
versão 1
front-end:
fases:
pré-construção:
comandos:
- npm install build:
comandos:
- npm run build
artefatos:
baseDirectory: construir
arquivos:
-
Cache:
caminhos:
- node_modules
Além disso, sob o
Com a alternância **configurações avançadas**, você pode definir variáveis de ambiente e um contêiner de compilação personalizado.
Por fim, depois de revisar as configurações do seu aplicativo, clique em
**Salve e implante **e **A AWS começará a configurar e implantar seu aplicativo. Quando a implantação da AWS terminar, você poderá navegar até a página inicial do Amplify e ver seu aplicativo recém-implantadoAWS começará a configurar e implantar seu aplicativo. Quando a implantação da AWS terminar, você poderá navegar até a página inicial do Amplify e ver seu aplicativo recém-implantado.
Agora, vamos personalizar a URL usando
**Gerenciamento de domínio do AWS Amplify
== Adicionando um domínio personalizado ==
Para começar a adicionar um domínio personalizado, navegue até a barra lateral esquerda e selecione
**gerenciamento de domínio ![ ](httpsmiro.medium.com/max/1400/1*fo8ZsKK7c3QvAwpjzMXcWg.png)
Configuração de **gerenciamento de domínio**.
Em seguida, selecione
**adicionar domínio **configurar domínio **digite seu nome de domínio (conforme mostrado abaixo) e clique**digite seu nome de domínio (conforme mostrado abaixo) e clique em ![ ](httpsmiro.medium.com/max/1400/ 1*e57WryLPPTC7Ro-_d5XAgQ.png)
Depois disso, você pode configurar qualquer redirecionamento necessário para o seu domínio. Por exemplo, no exemplo a seguir, crio um redirecionamento de httpsdan-murphy.com para httpswww.dan-murphy.com.
![ ](httpsmiro.medium.com/max/1400/1*yvEwLJmVK41H7ZPqDLB9Tg.png)
Por fim, depois que seu domínio personalizado estiver configurado corretamente, a AWS fornecerá a você um
**Certificado de validação Você também pode visualizar este certificado no console do AWS Certificate Manager.
== Adicionando um registro CNAME ==
A última etapa na configuração de seu domínio personalizado é adicionar um registro CNAME. No exemplo a seguir, uso o Google Domains, mas os conceitos fundamentais permanecem os mesmos em diferentes registradores de domínio.
Primeiro, role para baixo até
**Registros de recursos personalizados** no Google Domains. Crie um registro *CNAME *que aponte todos os subdomínios para o domínio do AWS Amplify: Nome: insira o nome do subdomínio. Se o subdomínio for www.domain.com, digite . Se for www app.domain.com, digite app. Dados: na página de gerenciamento de domínio, clique em Ações e selecione Exibir registros DNS. Em seguida, insira o domínio do AWS Amplify disponível em Configure DNS provider. ![ ](httpsmiro.medium.com/max/1400/1*SSRoAAkYjf5dT2rD-kmEQw.png)
Na página **Gerenciamento de domínios**, selecione **Ações **Visualizar registros DNS**
Ao todo, o registro de recurso personalizado terá a seguinte aparência:
![ ](httpsmiro.medium.com/max/1400/1*bZh8t77JswwonKCFyp7tog.png)
Em seguida, adicione mais um
Registro *CNAME* que aponta para o servidor de validação do AWS Certificate Manager. O AWS Certificate Manager validado lida com TLS para seu aplicativo: Nome: insira o subdomínio do servidor de validação. Se o registro DNS para verificar a propriedade do seu domínio for _1234.example.com, digite apenas _1234. Dados: insira o certificado de validação do ACM. Se o servidor de validação for _1234.abcdefg.acm-validations.aws., insira _1234.abcdefg.acm-validations.aws.
Todas as informações para seus certificados de validação são encontradas no console do AWS Certificate Manager. Depois do segundo
*CNAME* for adicionado, seus registros personalizados devem ficar assim: ![ ](httpsmiro.medium.com/max/1400/1*79yex2fObLiK0Q0f0X4zeA.png)
Por último, vamos adicionar um
**Registro Sintético** para configurar um encaminhamento de subdomínio: Subdomínio: insira a URL do domínio: www. ![ ](httpsmiro.medium.com/max/1400/1*xi6ivE7Vsfz9AheFAHxPZQ.png)
= Encerrando =
No geral, neste artigo, aprendemos como estruturar aplicativos React e implantá-los com o AWS Amplify. Primeiro, discutimos como modularizar um aplicativo react em
*componentes* *páginas* pastas. Em seguida, aprendemos sobre o **AWS Amplify** e como implantar aplicativos estáticos e orientados a dados com ele. Por fim, aprendemos como usar o **AWS Amplify Domain Management** e o **Google Domains** para personalizar o domínio de nosso aplicativo. **e e
Se você tiver alguma dúvida, preocupação ou feedback sobre este artigo ou meu site de portfólio, sinta-se à vontade para comentar ou enviar um e-mail para
*
[email protected]*. Obrigado por ler!