-
-
Notifications
You must be signed in to change notification settings - Fork 0
cielo pdv deploy versioning
Documentar a regra de versionamento e o fluxo de publicação do APK do PDV Lave-Go (Cielo Store / staging) no app-community.
O job atualiza simultaneamente:
-
expo.version— versão legível exibida na Cielo Store (ex.:1.7.5); -
expo.android.versionCode— inteiro posicional derivado da mesma versão semântica (ex.:10705).
Isso evita divergência entre o que o lojista vê na loja e o que o Android/Cielo valida internamente.
A partir do commit 560a488 (updts para subir também no site da lavego), o mesmo APK passa a ser publicado em dois destinos FTP:
- site administrativo padrão (
ADMIN_*); - FTP extra do site Lave-Go (
FTPHOST_EXTRASLAVEGO/FTPUSER_EXTRASLAVEGO/FTPPASS_EXTRASLAVEGO), para disponibilização pública no site da Lave-Go.
| Arquivo | Papel |
|---|---|
.github/workflows/cielo-deploy-pdv-lavego-STAGING.yml |
Deploy do APK PDV Lave-Go Staging (package com.lavego.staging) para Cielo + sites |
Nome do workflow: DEPLOY CIELO PDV LAVEGO MASTER.
-
workflow_rundo workflow "Deploy Android Apps" (completed, branchmaster); - ou
workflow_dispatchmanual.
O job define APP_TYPE=POS, PACKAGE_NAME=com.lavego.staging, assets pos_lavego, endpoints apinew.lave-go.com / app.lave-go.com.
Fonte da versão: package.json → campo version (semver MAJOR.MINOR.PATCH).
versionCode = (MAJOR * 10000) + (MINOR * 100) + PATCH
Exemplos:
package.json version |
expo.version |
expo.android.versionCode |
|---|---|---|
1.7.4 |
1.7.4 |
10704 |
1.7.5 |
1.7.5 |
10705 |
1.8.0 |
1.8.0 |
10800 |
2.0.1 |
2.0.1 |
20001 |
-
Update version and versionCode in app.json (Positional)
Lêpackage.json.version, calcula oversionCodee grava os dois campos emapp.json. -
Extract App Version and VersionCode
Re-lêapp.jsone exporta para o ambiente do runner:-
APP_VERSION— versão de exibição (Cielo Store e paths FTP); -
APP_VERSION_CODE— versionCode numérico (validação Android/Cielo).
-
-
Prebuild (
npx expo prebuild --clean) + validação do hook de fontes vector-icons + criação dos arquivos de assinatura Android (keystore via secrets). -
Build Android APK (
./gradlew assembleRelease) e localização do artefato (APK_PATH/APK_DIR/APK_FILENAME). -
Upload APK to Website (FTP) — destino administrativo
- Action:
locaweb/ftp-deploy@1.0.0 - Host/user/pass:
secrets.ADMIN_HOST/ADMIN_USER/ADMIN_PASS -
remoteDir:public_html/${{ env.APP_VERSION }}/${{ env.PACKAGE_NAME }}/apk - Variável de path corrigida para
APP_VERSION(antes usavaVERSION, que podia ficar indefinida).
- Action:
-
Verify uploaded APK on FTP — listagem via
lftpno mesmoREMOTE_DIRe assert da presença deAPK_FILENAME. -
Deploy APK to Extra FTP (Explicit FTPS) — site Lave-Go
- Action:
SamKirkland/FTP-Deploy-Action@v4.4.0 - Server/user/pass:
secrets.FTPHOST_EXTRASLAVEGO/FTPUSER_EXTRASLAVEGO/FTPPASS_EXTRASLAVEGO - Protocolo: FTPS (port 21, security loose)
-
local-dir:${{ env.APK_DIR }}/ -
server-dir:/${{ env.APP_VERSION }}/ - Objetivo: disponibilizar o APK também no site da Lave-Go (além do host admin).
- Action:
| Campo | Consumidor | Motivo |
|---|---|---|
expo.version |
Cielo Store / lojista + paths FTP | Texto legível da versão do app |
expo.android.versionCode |
Android Package Manager / Cielo | Inteiro monotônico exigido para atualização e validação interna |
| Destino | Secrets | Path remoto | Uso |
|---|---|---|---|
| Admin (Locaweb) |
ADMIN_HOST / ADMIN_USER / ADMIN_PASS
|
public_html/{APP_VERSION}/{PACKAGE_NAME}/apk |
Publicação operacional / download controlado |
| Extra Lave-Go |
FTPHOST_EXTRASLAVEGO / FTPUSER_EXTRASLAVEGO / FTPPASS_EXTRASLAVEGO
|
/{APP_VERSION}/ |
Site público da Lave-Go |
Não versionar valores de secrets; apenas nomes de variáveis e o contrato de path.
-
Escopo: workflow
cielo-deploy-pdv-lavego-STAGING.yml, convenção posicional deversionCode, paths FTP baseados emAPP_VERSION, e o segundo destino (Extra FTP Lave-Go). -
Fora de escopo: pipelines genéricos (
deploy.yml,deploy-lave-go.yml,android-deploy-lavego-shop-v2.yml), versionamento de outros white-labels, e lógica de Play Store track.
- Este pipeline entrega o binário POS (
APP_TYPE=POS) white-label Lave-Go (com.lavego.staging). - Não altera regras de negócio de pedidos, caixa ou PCP; apenas o artefato Android e sua publicação.
- Commit versionamento original: e9dac6d
- Commit Extra FTP + path
APP_VERSION: 560a488 - Issue de orquestração documental: #614
- Índice de workflows:
.github/WORKFLOWS.md(quando existir) - Gate de produção: Production deploy gate
- PushTrigger / mapa de workflows:
docs/pushtrigger.md