-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdeploy-externo-imgs.sh
executable file
·90 lines (72 loc) · 3.63 KB
/
deploy-externo-imgs.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
#!/bin/bash
set -e # Se algum comando falhar, o script para
string_secao_nao_essencial="NAO ESSENCIAIS NO MOMENTO DA INSTALACAO"
linha_secao_nao_essencial=`grep -n "$string_secao_nao_essencial" env_files/security.env|cut -f1 -d:`
if [ `head -$linha_secao_nao_essencial env_files/security.env|grep --count '\*\*\*\*'` -gt 0 ]; then
echo "==========================================="
echo "ATENÇÃO: Deploy do SEI IA foi interrompido!"
echo "==========================================="
echo "A seção de configurações ESSENCIAIS do arquivo env_files/security.env não está adequadamente preenchida!"
echo "O deploy do SEI IA depende da configuração de todas as variáveis dessa seção do arquivo!"
echo "(para mais detalhes sobre o correto preenchimento do arquivo env_files/security.env, leia o arquivo README.md)"
exit 1
fi
if [ `tail -n +$linha_secao_nao_essencial env_files/security.env|grep --count '\*\*\*\*'` -gt 0 ]; then
echo "==============================================="
echo "ATENÇÃO: o deploy do SEI IA pode ter problemas!"
echo "==============================================="
echo "A seção de configurações NÃO ESSENCIAIS do arquivo env_files/security.env não está totalmente preenchida!"
echo "Embora nem todas as varíaveis dessa seção sejam de preenchimento obrigatório, é importante notar que" \
"o deploy do SEI IA pode dar errado dependendo do que não foi configurado nessa seção do arquivo!"
echo "(para mais detalhes sobre o correto preenchimento do arquivo env_files/security.env, leia o arquivo README.md)"
fi
echo "*** `date`: Carregando variáveis de ambiente..."
# Carregar variáveis de ambiente
source env_files/prod.env
source env_files/default.env
source env_files/security.env
# Carregar variáveis de ambiente específicas de acordo com o argumento
cat env_files/prod.env > .env
cat env_files/default.env >> .env
cat env_files/security.env >> .env
echo "*** `date`: Configurando variáveis de ambiente para instalação do SEI IA..."
export PROJECT_NAME=sei_ia
export API_SEI_IMAGE="1.0.2"
export API_ASSISTENTE_VERSION="1.0.2"
export NGINX_ASSISTENTE_VERSION="1.0.2"
export AIRFLOW_IMAGE_NAME="1.0.2"
export APP_API="1.0.2"
export SOLR_CONTAINER="1.0.2"
export POSTGRES_IMAGE="1.0.2"
export DOCKER_REGISTRY="anatelgovbr/"
echo "*** `date`: Deploy do SEI IA em andamento..."
docker compose --profile externo \
-f docker-compose-ext.yaml \
-p $PROJECT_NAME \
up \
--no-build -d
echo "*** `date`: Aguardando estabilizacao do Servidor de Solucoes de IA"
sleep 15
echo "*** `date`:Ativando as DAGs do SEI IA no Airflow..."
docker compose -f docker-compose-ext.yaml -p $PROJECT_NAME exec airflow-webserver-pd /bin/bash -c "
airflow dags list | awk 'NR > 2 {print \$1}' > /tmp/dags_list.txt;
cat /tmp/dags_list.txt || echo 'Nenhuma DAG encontrada.';
while read -r dag; do
echo 'Tentando despausar DAG:' \$dag;
# Verifica se a DAG já está pausada
is_paused=\$(airflow dags list | grep \"^\$dag\" | awk '{print \$2}')
if [ \"\$dag\" == \"dag_embeddings_start\" ]; then
echo 'Pausando dag_embeddings_start...';
airflow dags pause dag_embeddings_start || echo 'Falha ao pausar dag_embeddings_start';
else
echo \"Despausando DAG: \$dag...\"
airflow dags unpause \"\$dag\" || echo 'Falha ao despausar \$dag';
fi
done < /tmp/dags_list.txt
"
#adicionar registro na tabela version_register no banco sei_similaridade
sh insert_row_version_register.sh
echo "*** `date`:Rodando o healthchecker..."
docker compose -f docker-compose-healthchecker.yml \
-p $PROJECT_NAME up --build
echo "*** `date`:Finalizado o Deploy do Servidor de Soluções do SEI-IA. "