deploy é um bloco dentro de um serviço de app que define o padrão e o travamento de três comportamentos: deploys sem downtime (blue-green), rollback automático e rollback com dados. Ele só restringe: o plano continua decidindo o que existe, e um manifesto nunca habilita algo que o plano não inclui.
As três configurações
Mudar uma configuração travada para outro valor devolve
403 TEMPLATE_SETTING_LOCKED; enviar o valor do template é sempre aceito.
Coloque "off" e "on" entre aspas no YAML, ou o parser os lê como booleanos. Para saber como funcionam o blue-green e o rollback em um app comum, veja Rollbacks e deploys sem downtime.
Quando travar o blue-green desligado
O blue-green executa a cópia antiga e a nova ao mesmo tempo enquanto o tráfego é movido. Trave-o desligado (default: "off", locked: true) sempre que duas cópias rodando juntas causariam dano.
Deixe-o aberto (
auto, destravado) para apps web e APIs stateless que mantêm os dados em um banco de dados gerenciado e respondem a requisições sem efeitos colaterais na inicialização.
Quando exigir rollback com dados
Userollback: { with_data: required } quando a nova versão migra o banco de dados ou os arquivos de dados na inicialização. Fazer rollback só do código deixaria um programa antigo lendo um schema que ele não entende mais. Com required, o rollback manual e o automático só do código ficam bloqueados, e o caminho de volta é restaurar o snapshot tirado antes da atualização, que traz de volta o código, o /app e os bancos de dados da stack juntos.
Use optional (o padrão) quando o código puder sofrer rollback de forma independente, como em um bot stateless cujo estado é apenas um token.
Atualizações do template
Quem usa o template recebe uma nova versão somente quando escolhe atualizar. Antes da atualização, a plataforma tira um snapshot de segurança do/app e dos bancos de dados da stack, atualiza os serviços um após o outro e, se um passo falhar, volta ao snapshot. with_data: required é o que informa à plataforma que restaurar os bancos de dados faz parte da volta.