kasy-cli 1.31.5 → 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 +6 -6
- package/lib/commands/run.js +11 -11
- 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 +66 -0
- package/lib/utils/flutter-install.js +8 -0
- package/lib/utils/flutter-run.js +5 -25
- 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 en la nube con Codemagic (sin Mac)
|
|
2
|
+
|
|
3
|
+
Publica **iOS** y **Android** por la nube de Codemagic. Cada plataforma tiene su
|
|
4
|
+
propio workflow, así que puedes enviarlas por separado o las dos juntas.
|
|
2
5
|
|
|
3
6
|
## Requisitos
|
|
4
7
|
|
|
5
8
|
- Cuenta [Codemagic](https://codemagic.io)
|
|
6
9
|
- Repositorio Git conectado a Codemagic
|
|
7
|
-
-
|
|
10
|
+
- iOS: cuenta Apple Developer + app en App Store Connect
|
|
11
|
+
- Android: app en Google Play Console + un keystore de firma
|
|
8
12
|
|
|
9
13
|
## 1. Agregar CI al proyecto (si falta)
|
|
10
14
|
|
|
@@ -12,32 +16,48 @@
|
|
|
12
16
|
kasy add ci
|
|
13
17
|
```
|
|
14
18
|
|
|
15
|
-
Crea `codemagic.yaml` en la raíz del proyecto
|
|
19
|
+
Crea `codemagic.yaml` en la raíz del proyecto (workflows `ios-workflow` y
|
|
20
|
+
`android-workflow`).
|
|
21
|
+
|
|
22
|
+
## 2. Configurar en el panel Codemagic (una vez)
|
|
23
|
+
|
|
24
|
+
Estos elementos son secretos y solo se hacen en el panel — una vez:
|
|
16
25
|
|
|
17
|
-
|
|
26
|
+
1. Abre [codemagic.io/apps](https://codemagic.io/apps) y **conecta el repositorio**.
|
|
27
|
+
2. **iOS** — *Integrations → App Store Connect*: conecta la clave de Apple. Su
|
|
28
|
+
nombre va en `integrations: app_store_connect:` en `codemagic.yaml`.
|
|
29
|
+
3. **Android** — *Code signing identities → Android keystores*: sube el keystore
|
|
30
|
+
con el **Reference name** `keystore_reference` (igual que en `codemagic.yaml`).
|
|
31
|
+
4. **Android** — sube el JSON de la **service account de Google Play** como
|
|
32
|
+
variable secreta `GOOGLE_PLAY_SERVICE_ACCOUNT_CREDENTIALS` (grupo `google_play`).
|
|
18
33
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
4. **Environment variables:** en el grupo del app (ej. `appstore_credentials`):
|
|
23
|
-
- `BACKEND_URL`, `SENTRY_DSN`, `RC_IOS_API_KEY`, `RC_ANDROID_API_KEY`, `MIXPANEL_TOKEN`
|
|
24
|
-
5. En `codemagic.yaml`, completa `APP_ID` (ID numérico del app en App Store Connect).
|
|
34
|
+
> Las **claves del app** (RevenueCat, backend, etc.) **no** hace falta cargarlas
|
|
35
|
+
> en el panel: `kasy codemagic release` las envía automáticamente desde tu `.env`.
|
|
36
|
+
> Si prefieres disparar desde el panel/push, agrégalas a los grupos de variables.
|
|
25
37
|
|
|
26
|
-
## 3. Configurar en la terminal
|
|
38
|
+
## 3. Configurar en la terminal (una vez)
|
|
27
39
|
|
|
28
40
|
```bash
|
|
29
41
|
kasy codemagic configure
|
|
30
42
|
```
|
|
31
43
|
|
|
32
|
-
|
|
44
|
+
El asistente abre la página del **API token** (Settings → Codemagic API), valida
|
|
45
|
+
el token y **lista tus apps** para elegir — sin escribir IDs. Guarda todo en
|
|
46
|
+
`.kasy/codemagic.env` (no versionado).
|
|
33
47
|
|
|
34
48
|
## 4. Disparar build
|
|
35
49
|
|
|
36
50
|
```bash
|
|
37
|
-
kasy codemagic release
|
|
51
|
+
kasy codemagic release # iOS + Android
|
|
52
|
+
kasy codemagic release --ios # solo iOS
|
|
53
|
+
kasy codemagic release --android # solo Android
|
|
38
54
|
```
|
|
39
55
|
|
|
40
|
-
El
|
|
56
|
+
El comando lee tu `.env` y lleva las claves de producción (incluida la clave de
|
|
57
|
+
producción de RevenueCat, `appl_`/`goog_`) junto al disparo. Un paso del
|
|
58
|
+
`codemagic.yaml` recrea el `.env` en la nube antes de compilar, así el build sale
|
|
59
|
+
con las claves correctas. Según `codemagic.yaml`, iOS va a TestFlight y Android al
|
|
60
|
+
track configurado (`internal` por defecto).
|
|
41
61
|
|
|
42
62
|
## Estado del build
|
|
43
63
|
|
|
@@ -45,6 +65,12 @@ El build en la nube puede subir a TestFlight según `codemagic.yaml`.
|
|
|
45
65
|
kasy codemagic status <buildId>
|
|
46
66
|
```
|
|
47
67
|
|
|
68
|
+
## ¿Puedo usar el Mac y Codemagic a la vez?
|
|
69
|
+
|
|
70
|
+
Sí. Son dos caminos hacia la misma tienda; no entran en conflicto. El número de
|
|
71
|
+
build lo calcula la nube (último en la tienda + 1), por lo que rara vez choca.
|
|
72
|
+
Para el día a día, elige un camino principal.
|
|
73
|
+
|
|
48
74
|
## Mac local
|
|
49
75
|
|
|
50
76
|
Si tienes Mac: [ios-release.md](./ios-release.md) y `kasy ios release`.
|
|
@@ -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`.
|