|
|
|
|
@ -56,18 +56,23 @@ gcloud builds submit \
|
|
|
|
|
--substitutions=_REGION="$REGION",_REPO_NAME="$REPO_NAME",_IMAGE_NAME="$SERVICE_NAME"
|
|
|
|
|
echo "✅ Build concluído"
|
|
|
|
|
|
|
|
|
|
# Passo 4: Configurar variáveis de ambiente
|
|
|
|
|
# Passo 4: Deploy para Cloud Run com variáveis de ambiente
|
|
|
|
|
echo ""
|
|
|
|
|
echo "4️⃣ Atualizando variáveis de ambiente no Cloud Run..."
|
|
|
|
|
echo "4️⃣ Realizando deploy para Cloud Run com variáveis de ambiente..."
|
|
|
|
|
|
|
|
|
|
# Ler variáveis do .env (excluindo comentários e linhas vazias)
|
|
|
|
|
# Ler variáveis do .env (excluindo comentários e linhas vazias, e tratando espaços/caracteres especiais)
|
|
|
|
|
ENV_VARS=""
|
|
|
|
|
while IFS='=' read -r key value; do
|
|
|
|
|
# Pular comentários e linhas vazias
|
|
|
|
|
[[ "$key" =~ ^#.*$ ]] && continue
|
|
|
|
|
[[ -z "$key" ]] && continue
|
|
|
|
|
# Adicionar à variável de deploy (sem espaços)
|
|
|
|
|
ENV_VARS="$ENV_VARS${key}=${value},"
|
|
|
|
|
while IFS= read -r line || [[ -n "$line" ]]; do
|
|
|
|
|
# Ignorar linhas vazias e comentários
|
|
|
|
|
[[ "$line" =~ ^[[:space:]]*# ]] && continue
|
|
|
|
|
[[ -z "${line// }" ]] && continue
|
|
|
|
|
|
|
|
|
|
# Adicionar à string de variáveis (key=value) e remover \r (quebras de linha Windows)
|
|
|
|
|
if [[ "$line" == *"="* ]]; then
|
|
|
|
|
# Limpar caracteres de retorno de carro (\r) para evitar erros no Linux
|
|
|
|
|
clean_line=$(echo "$line" | tr -d '\r')
|
|
|
|
|
ENV_VARS="$ENV_VARS$clean_line,"
|
|
|
|
|
fi
|
|
|
|
|
done < .env
|
|
|
|
|
|
|
|
|
|
# Remover última vírgula
|
|
|
|
|
@ -75,18 +80,31 @@ ENV_VARS="${ENV_VARS%,}"
|
|
|
|
|
|
|
|
|
|
if [ -z "$ENV_VARS" ]; then
|
|
|
|
|
echo "⚠️ Nenhuma variável de ambiente encontrada em .env"
|
|
|
|
|
# Deploy sem variáveis (pode falhar se a app exigir)
|
|
|
|
|
gcloud run deploy "$SERVICE_NAME" \
|
|
|
|
|
--image="$IMAGE_NAME:latest" \
|
|
|
|
|
--region="$REGION" \
|
|
|
|
|
--platform=managed \
|
|
|
|
|
--allow-unauthenticated
|
|
|
|
|
else
|
|
|
|
|
gcloud run services update $SERVICE_NAME \
|
|
|
|
|
--region=$REGION \
|
|
|
|
|
--update-env-vars=$ENV_VARS \
|
|
|
|
|
--quiet 2>/dev/null || echo "⚠️ Serviço pode não existir ainda. Será criado automaticamente."
|
|
|
|
|
# Deploy com as variáveis coletadas
|
|
|
|
|
gcloud run deploy "$SERVICE_NAME" \
|
|
|
|
|
--image="$IMAGE_NAME:latest" \
|
|
|
|
|
--region="$REGION" \
|
|
|
|
|
--platform=managed \
|
|
|
|
|
--set-env-vars="$ENV_VARS" \
|
|
|
|
|
--memory=512Mi \
|
|
|
|
|
--cpu=1 \
|
|
|
|
|
--timeout=3600 \
|
|
|
|
|
--max-instances=10 \
|
|
|
|
|
--allow-unauthenticated
|
|
|
|
|
fi
|
|
|
|
|
echo "✅ Variáveis de ambiente atualizadas"
|
|
|
|
|
echo "✅ Deploy concluído com variáveis de ambiente"
|
|
|
|
|
|
|
|
|
|
# Passo 5: Sucesso
|
|
|
|
|
echo ""
|
|
|
|
|
echo "================================"
|
|
|
|
|
echo "✅ DEPLOY CONCLUÍDO COM SUCESSO!"
|
|
|
|
|
echo "✅ PROCESSO FINALIZADO!"
|
|
|
|
|
echo "================================"
|
|
|
|
|
echo ""
|
|
|
|
|
echo "📋 Próximos passos:"
|
|
|
|
|
|