Cada ambiente guarda duas chaves próprias de cada serviço de app, em Configurações do serviço → Neste ambiente:
- Ligado neste ambiente. Desligado, o serviço continua no ambiente com as configurações e variáveis dele, mas não roda, não recebe deploys e não é cobrado. Ligue de novo e ele volta com o último deploy, ou faz o primeiro deploy se nunca teve um. Use para manter em staging um serviço que só production precisa, sem pagar por ele.
- Deploy automático. Desligado, os pushes não fazem deploy do serviço nesse ambiente; o deploy acontece só quando você pede pelo painel ou pela CLI. O serviço continua no ar com o último deploy.
No veloz.json
As duas chaves também podem ficar no veloz.json, no campo environments, com o nome do ambiente ou pr para todos os ambientes de PR:
"environments": {
"pr": {
"services": {
"worker": { "enabled": false }
}
},
"staging": {
"services": {
"api": { "autoDeploy": false }
}
}
}A Veloz aplica o campo a cada push. O que o veloz.json declara vale sobre o que foi marcado no painel; o que ele não declara fica como está no painel.
Deploy só do que mudou
Os padrões watch de cada serviço valem em todos os ambientes: um push que não toca os arquivos do serviço não faz deploy dele, em production, em staging ou em um PR. Quando um ambiente de PR é criado, os serviços com watch cujos arquivos o PR não altera ficam no ambiente sem deploy, a menos que outro serviço do PR os referencie.
Próximos passos
- veloz.json: o campo
environments - Monorepo:
watchem um monorepo - Ambientes de PR: um ambiente para cada pull request