kasy-cli 1.31.6 → 1.31.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/kasy.js +20 -3
- package/docs/cli-reference.md +8 -6
- package/lib/commands/codemagic.js +110 -45
- package/lib/commands/new.js +5 -0
- package/lib/commands/reset.js +5 -1
- package/lib/commands/run.js +6 -1
- package/lib/scaffold/engine.js +5 -3
- package/lib/scaffold/generate.js +7 -0
- package/lib/utils/codemagic-release.js +122 -13
- package/lib/utils/env-tools.js +42 -0
- package/lib/utils/flutter-install.js +8 -0
- package/lib/utils/i18n/messages-en.js +18 -7
- package/lib/utils/i18n/messages-es.js +18 -7
- package/lib/utils/i18n/messages-pt.js +18 -7
- package/package.json +1 -1
- package/templates/firebase/codemagic.yaml +213 -0
- package/templates/firebase/docs/codemagic-release.en.md +45 -18
- package/templates/firebase/docs/codemagic-release.es.md +40 -14
- package/templates/firebase/docs/codemagic-release.pt.md +42 -15
|
@@ -1,10 +1,14 @@
|
|
|
1
|
-
# Publicar
|
|
1
|
+
# Publicar na nuvem com Codemagic (sem Mac)
|
|
2
|
+
|
|
3
|
+
Publica **iOS** e **Android** pela nuvem do Codemagic. Cada plataforma tem seu
|
|
4
|
+
próprio workflow, então você envia separado ou os dois juntos.
|
|
2
5
|
|
|
3
6
|
## Pré-requisitos
|
|
4
7
|
|
|
5
8
|
- Conta [Codemagic](https://codemagic.io)
|
|
6
9
|
- Repositório Git conectado ao Codemagic
|
|
7
|
-
-
|
|
10
|
+
- iOS: conta Apple Developer + app no App Store Connect
|
|
11
|
+
- Android: app no Google Play Console + keystore de assinatura
|
|
8
12
|
|
|
9
13
|
## 1. Adicionar CI ao projeto (se ainda não tiver)
|
|
10
14
|
|
|
@@ -12,32 +16,49 @@
|
|
|
12
16
|
kasy add ci
|
|
13
17
|
```
|
|
14
18
|
|
|
15
|
-
Isso cria `codemagic.yaml` na raiz do projeto
|
|
19
|
+
Isso cria o `codemagic.yaml` na raiz do projeto (workflows `ios-workflow` e
|
|
20
|
+
`android-workflow`).
|
|
21
|
+
|
|
22
|
+
## 2. Configurar no painel Codemagic (uma vez)
|
|
23
|
+
|
|
24
|
+
Estes itens são secretos e só podem ser feitos no painel — uma vez:
|
|
16
25
|
|
|
17
|
-
|
|
26
|
+
1. Abra [codemagic.io/apps](https://codemagic.io/apps) e **conecte o repositório**.
|
|
27
|
+
2. **iOS** — *Integrations → App Store Connect*: conecte a chave da Apple. No
|
|
28
|
+
`codemagic.yaml`, o nome dela vai em `integrations: app_store_connect:`.
|
|
29
|
+
3. **Android** — *Code signing identities → Android keystores*: suba o keystore
|
|
30
|
+
com o **Reference name** `keystore_reference` (o mesmo usado no `codemagic.yaml`).
|
|
31
|
+
4. **Android** — suba o JSON da **service account do Google Play** como variável
|
|
32
|
+
secreta `GOOGLE_PLAY_SERVICE_ACCOUNT_CREDENTIALS` (grupo `google_play`).
|
|
18
33
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
- `BACKEND_URL`, `SENTRY_DSN`, `RC_IOS_API_KEY`, `RC_ANDROID_API_KEY`, `MIXPANEL_TOKEN`
|
|
24
|
-
5. No `codemagic.yaml`, preencha `APP_ID` (ID numérico do app no App Store Connect — aparece na URL do app).
|
|
34
|
+
> As **chaves do app** (RevenueCat, backend, etc.) **não** precisam ser
|
|
35
|
+
> preenchidas no painel: o `kasy codemagic release` as envia automaticamente a
|
|
36
|
+
> partir do seu `.env`. Se preferir disparar pelo painel/push, aí sim cadastre-as
|
|
37
|
+
> nos grupos de variáveis.
|
|
25
38
|
|
|
26
|
-
## 3. Configurar no terminal
|
|
39
|
+
## 3. Configurar no terminal (uma vez)
|
|
27
40
|
|
|
28
41
|
```bash
|
|
29
42
|
kasy codemagic configure
|
|
30
43
|
```
|
|
31
44
|
|
|
32
|
-
|
|
45
|
+
O assistente abre a página do **token da API** (Settings → Codemagic API), valida
|
|
46
|
+
o token e **lista os seus apps** para você escolher — sem digitar IDs. Salva tudo
|
|
47
|
+
em `.kasy/codemagic.env` (não versionado).
|
|
33
48
|
|
|
34
49
|
## 4. Disparar build
|
|
35
50
|
|
|
36
51
|
```bash
|
|
37
|
-
kasy codemagic release
|
|
52
|
+
kasy codemagic release # iOS + Android
|
|
53
|
+
kasy codemagic release --ios # só iOS
|
|
54
|
+
kasy codemagic release --android # só Android
|
|
38
55
|
```
|
|
39
56
|
|
|
40
|
-
O
|
|
57
|
+
O comando lê o seu `.env` e leva as chaves de produção (incluindo a chave de
|
|
58
|
+
produção do RevenueCat, `appl_`/`goog_`) junto no disparo. Um passo do
|
|
59
|
+
`codemagic.yaml` recria o `.env` na nuvem antes de compilar, então o build sai
|
|
60
|
+
com as chaves certas. Conforme o `codemagic.yaml`, o iOS vai para o TestFlight e
|
|
61
|
+
o Android para o track configurado (`internal` por padrão).
|
|
41
62
|
|
|
42
63
|
## Status do build
|
|
43
64
|
|
|
@@ -45,6 +66,12 @@ O build roda na nuvem e, conforme o `codemagic.yaml`, pode enviar para TestFligh
|
|
|
45
66
|
kasy codemagic status <buildId>
|
|
46
67
|
```
|
|
47
68
|
|
|
69
|
+
## Posso usar o Mac e o Codemagic ao mesmo tempo?
|
|
70
|
+
|
|
71
|
+
Pode. São dois caminhos para a mesma loja, não conflitam. O número do build é
|
|
72
|
+
calculado pela própria nuvem (último na loja + 1), então dificilmente colide.
|
|
73
|
+
No dia a dia, escolha um caminho principal.
|
|
74
|
+
|
|
48
75
|
## Mac local
|
|
49
76
|
|
|
50
|
-
Se tiver Mac: [ios-release.md](./ios-release.md) e `kasy ios release`.
|
|
77
|
+
Se tiver Mac: veja [ios-release.md](./ios-release.md) e `kasy ios release`.
|