Executando verificação de segurança...
1

Como vocês programariam essa solução ?

Opa , meu primeiro post aqui e justamente queria tirar uma dúvida com vocês relacionada a front-end.

Na minha empresa trabalho como front e atualmente estou gerenciando o deployment disso na google cloud. Tenho uma instância com ip público configurado e suas especificações são:

SSD: 100GB
Memória: 8GB
VCPUS: 4

Essa máquina tem o docker instalado e atualmente tenho um front-end que é o produto principal da empresa que é buildado e rodado em um docker container dentro dessa VM.

Meu problema principal é que existem 4 Apis distintas para ambientes com fins diferentes. Ex:

API Produção - http://ip:5000
API Homologação - http://ip:5001
API Desenvolvimento - http://ip:50002
API Testes- http://ip:50003

Todas as vezes que tem uma atualização de versão do front, tenho que buildar para atingir todos os ambientes a mesma versão 4 vezes.

Como vocês programariam isso visando ter apenas uma build que seja coringa para os 4 ambientes diferentes ?

Carregando publicação patrocinada...
1
1

O problema é alterar a variável de que está dentro de um arquivo ts, sendo que em frontend não existe variáveis de ambiente.

1

Vou explicar como desenvolvi algo semelhate para o Angular. Por padrão no angular você cria os arquivos enviroment.{env}.ts e na pipeline você faz um build para cada ambiente, exatamente como mencionou. Pra não precisarmos disso, nos criamos um arquivo config.json, e faziamos a leitura desse arquivo. Então, em nossa pipeline, toda vez que o projeto era promovido entre os ambientes, existia um comando de rewrite que substituia o arquivo config.json pelo arquivo do ambiente.

Nos tinhamos

  • config
    • config.prod.json
    • config.stg.json
    • config.qa.json
    • config.json

Por padrão, em dev o projeto usava o config.json, então todo o projeto sempre tentava pegar as informaçoes desse arquivo. A pipeline fazia algo semelhante a isso

rm config/config.json && cp config/config.qa.json config/config.json

1