... | ... | @@ -9,6 +9,7 @@ |
|
|
* [Git Branching Model](#git-branching-model)
|
|
|
* [Code Review](#code-review)
|
|
|
* [Guia de desenvolvimento](#guia-de-desenvolvimento)
|
|
|
* [Deploy em produção](#deploy-em-produção)
|
|
|
* [Próximos artefatos](#pr%C3%B3ximos-poss%C3%ADveis-artefatos)
|
|
|
|
|
|
## Fluxograma de funcionamento do aplicativo
|
... | ... | @@ -100,6 +101,69 @@ Foi criado um [guia de desenvolvimento para o backend](guia_desenvolvimento_back |
|
|
|
|
|
[🔗 Acesse o guia de desenvolvimento](guia_desenvolvimento_backend).
|
|
|
|
|
|
## Deploy em produção
|
|
|
|
|
|
Nessa seção, você terá instruções sobre como fazer o deploy do backend para o ambiente de produção, e como gerar uma APK do aplicativo Android para distribuição pela Play Store.
|
|
|
|
|
|
### Deploy da API em produção
|
|
|
|
|
|
A ser definido.
|
|
|
|
|
|
### Gerar APK para envio à Google Play Store
|
|
|
|
|
|
Antes de continuar, certifique-se de que o ambiente de desenvolvimento está configurado e funcionando corretamente.
|
|
|
|
|
|
#### 1 - Gerar chaves
|
|
|
|
|
|
> Se você já mandou o app para a Play Store e tem um arquivo com a keystore e chave de upload, pule essa etapa.
|
|
|
|
|
|
Antes da primeira submissão do APK à Play Store, é preciso gerar uma chave privada para assinar o APK da aplicação. Essa chave deve ser guardada em um local seguro, pois será necessária sempre que for preciso disponibilizar uma atualização da aplicação na Play Store.
|
|
|
|
|
|
É preciso gerar uma _keystore_ (capaz de armazenar várias _keys_) e uma _key_. Abra uma janela do terminal e execute o seguinte comando:
|
|
|
|
|
|
```bash
|
|
|
$ keytool -genkeypair -v -keystore upload.keystore -alias upload -keyalg RSA -keysize 2048 -validity 10000
|
|
|
```
|
|
|
|
|
|
Você deverá informar duas senhas: uma para a keystore e outra para a chave. Também será preciso informar alguns dados de identificação, como nome, organização, cidade, estado e país.
|
|
|
|
|
|
O resultado da execução é um arquivo `upload.keystore` (com uma key `upload`) presente na mesma pasta onde o comando foi executado. **Guarde este arquivo e as senhas informadas em um local seguro, e não os armazene no repositório da aplicação.** Sem ele, não será possível atualizar o aplicativo na Play Store (apenas enviar outro APK como se fosse um novo app).
|
|
|
|
|
|
#### 2 - Configurações no projeto
|
|
|
|
|
|
> Considerando que você tem um arquivo keystore com uma chave para upload.
|
|
|
|
|
|
1. Copie o arquivo da keystore para a pasta `android/app/`;
|
|
|
2. Edite o arquivo `android/gradle.properties`, conforme exemplo abaixo:
|
|
|
|
|
|
<!-- o tipo está como `bash` apenas para diferenciar os comentários -->
|
|
|
```bash
|
|
|
DTOOL_UPLOAD_STORE_FILE=upload.keystore # nome do arquivo com a keystore
|
|
|
DTOOL_UPLOAD_KEY_ALIAS=upload # nome da key presente na keystore
|
|
|
DTOOL_UPLOAD_STORE_PASSWORD=dtool2020 # senha da keystore
|
|
|
DTOOL_UPLOAD_KEY_PASSWORD=dtoolupload # senha da key
|
|
|
```
|
|
|
|
|
|
**Não adicione essas mudanças ao repositório (não commite isso).** Realize essas mudanças sempre que for preciso gerar uma APK para distribuição.
|
|
|
|
|
|
#### 3 - Gerando o APK
|
|
|
|
|
|
Abra uma janela do terminal, vá até a pasta `android/` e execute o comando `./gradlew assembleRelease`. O comando deve demorar um pouco para completar, uma vez que o processo de build para distribuição é mais demorado.
|
|
|
|
|
|
Quando o comando finalizar, o APK final estará na pasta `android/app/build/outputs/apk/release/`.
|
|
|
|
|
|
#### 4 - Enviando à Play Store
|
|
|
|
|
|
Confira os [tutoriais oficiais da Google](https://support.google.com/googleplay/android-developer/answer/113469?hl=pt-BR) para ver como fazer o upload da aplicação para a Play Store.
|
|
|
|
|
|
[🔗 Fazer upload de um app - Ajuda do Play Console](guia_desenvolvimento_backend).
|
|
|
|
|
|
#### Mais informações
|
|
|
|
|
|
Para mais informações, consulte as documentações oficiais:
|
|
|
- [🔗 React Native - como gerar uma APK assinada](https://reactnative.dev/docs/signed-apk-android)
|
|
|
- [🔗 Android - gerar e assinar uma APK a partir da linha de comando](https://developer.android.com/studio/build/building-cmdline)
|
|
|
|
|
|
## Próximos possíveis artefatos:
|
|
|
|
|
|
* [ ] Segurança
|
... | ... | |