Remover ambiente de desenvolvimento? Como assim?

Onde os programadores vão trabalhar?

Ainda tem o ambiente local, que é onde geralmente deveria estar sendo feito o código. E o ambiente de homologação que é onde o código é mergeado e testado. E por fim o ambiente produtivo, onde o código é usado na vida real.

Mas o ambiente de desenvolvimento que digo, é que geralmente empresas tem o seguinte fluxo de entrega de código: Desenvolvimento local > Ambiente de desenvolvimento > Ambiente de homologação > Ambiente de produção.

Sendo desses: Ambiente local: o seu ambiente de trabalho Ambiente de desenvolvimento: lugar onde o dev pode mergear o seu código com approves de revisão de código e etc... Porém existe uma maior liberdade para esse ambiente ser quebrado. Ambiente de homologação: cópia de produção ou maior tentativa de simular o ambiente produtivo. Ambiente produtivo: produção, go live, rodando, ihaa.

Entendi, numa empresa que trabalhei esse era chamado de `testing`. No qual os devs faziam merge e deixavam os QAs testarem. ## Respondendo a pergunta inicial Já trabalhei em uma empresa onde tinha o seguinte fluxo: `local` -> `testing` -> `homologation` -> `staging` -> `production` No meu trabalho atual tem o seguinte fluxo: `local` -> `production` ### O que vale é: - Qual a necessidade do seu projeto? a complexidade é tão alta a ponto de precisar criar um ambiente a mais / a menos? - Qual a maturidade da sua equipe para enviar códigos direto para o próximo ambiente? - Aqui se mede com a quantidade de vezes que um código "volta" para o passo anterior. Se voltar muito é porque: 1- seus programadores dependem desse ambiente e estão confortáveis em jogar código ruim pra frente 2- falta um processo de qualidade de código como code review - Esse ambiente está trazendo mais benefícios ou dor de cabeça?
> Desenvolvimento local > Ambiente de desenvolvimento > Ambiente de homologação > Ambiente de produção. Cara, não sei se é alguma confusão de termos, mas para mim está estranho isso aí. Ao menos por onde eu já passei, é o seguinte: - Ambiente de desenvolvimento: É o onde o programador atua, é o ecossistema de IDE, editores, dependências de build e etc. Normalmente isso é na máquina do programador ou uma nuvem como o codespaces. Aqui na empresa estamos cada vez mais construindo os ambientes de desenvolvimento usando devcontainer pois é facilmente reproduzível. - Ambiente de homologação (ou stage): É um ambiente simular ao de produção, porém com as últimas alterações dos projetos para que os QA e clientes possam simular suas rotinas diárias e validar alterações. - Ambiente de produção: É o que nome diz.
Então, em todos locais que passei até hoje tem mais um nível de ambiente. Que é o que chamo de desenvolvimento. Que é um local que fica mais instável e que geralmente o dev tem acesso a infraestrutura para quebrar como quiser. O que muda do ambiente de dev pra hml é que hml é mais fixo, com uma menor quantidade de chances de ter erro. Pois o que sobe para lá é algo já validado e testado em ambiente de desenvolvimento. Mas ambiente local é onde tu coda, e não é o que eu to falando. Até por quê nem tem como remover a etapa de desenvolvimento local.