Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- # Textos reutilizáveis
- AWS_REPO="615999049566.dkr.ecr.us-east-1.amazonaws.com"
- CMD_START="java -Djava.security.egd=file:/dev/./urandom -jar /app.jar --spring.datasource.url=jdbc:postgresql://192.168.0.201:5432"
- # Lista das imagens configuradas
- IMAGENS=(
- "localizacao"
- "pessoa"
- "tabela-generica"
- "dbupdates"
- "gestor-clientes"
- "softmanager"
- "apidocs"
- "elvis"
- "menu"
- "cargo"
- "filial"
- "verba"
- "rh-frontend"
- "funcionario"
- "evento"
- "evento-funcionario"
- "tabela-imposto"
- )
- # Métodos defaults
- start(){
- local CIDFILE=$1;
- local IMAGE=$2;
- local PORT=$3;
- local CMD=$4;
- local GATEWAY_HOST="gateway.hrinfo.com.br:192.168.0.201";
- # Executa uma string como . (Precisava ser uma string por causa dos pâmetros)
- eval "docker run --rm -d --add-host $GATEWAY_HOST --cidfile $CIDFILE -p $PORT $IMAGE $CMD;"
- eval "chmod 777 $CIDFILE;"
- }
- stop(){
- CIDFILE=$1;
- docker kill $(cat $CIDFILE);
- rm $CIDFILE;
- }
- showError(){
- echo "Modo de usar: cloud.sh ( ação imagem )"
- echo "ação:"
- echo " start - Inicia todos os containers da cloud e cria seus respectivos \".cid\" como arquivos temporários."
- echo " stop - Termina todos os containers da cloud e limpa os arquivos \".cid\" gerados para cada container."
- echo "imagem:"
- echo " Nome da imagem que será usada para executar a ação. Caso não seja informado a ação será executada em todas as imagens registradas "
- echo "Obs: cid é o id do container usado para manipular os estados dos mesmos."
- exit 1
- }
- containsElement(){
- local e match="$1"
- shift
- for e; do [[ "$e" == "$match" ]] && return 0; done
- return 1
- }
- # Métodos de cada imagem
- localizacao(){
- # Informações do container
- local CIDFILE="/opt/fakeCloud/cid/localizacao.cid";
- local IMAGE=$AWS_REPO/localizacao:latest;
- local PORT="9001:8080";
- local CMD="$CMD_START/msLocalizacao --server.servlet.context-path=/localizacao";
- # O comando (start/stop) é o parâmetro $1
- eval "$1 $CIDFILE $IMAGE $PORT \"$CMD\""
- }
- pessoa(){
- # Informações do container
- local CIDFILE="/opt/fakeCloud/cid/pessoa.cid";
- local IMAGE=$AWS_REPO/pessoa:latest;
- local PORT="9002:8080";
- local CMD="$CMD_START/msPessoa --server.servlet.context-path=/pessoa";
- # O comando (start/stop) é o parâmetro $1
- eval "$1 $CIDFILE $IMAGE $PORT \"$CMD\""
- }
- tabela-generica(){
- # Informações do container
- local CIDFILE="/opt/fakeCloud/cid/tabela-generica.cid";
- local IMAGE=$AWS_REPO/tabela-generica:latest;
- local PORT="9003:8080";
- local CMD="$CMD_START/msTabelaGenerica --server.servlet.context-path=/tg";
- # O comando (start/stop) é o parâmetro $1
- eval "$1 $CIDFILE $IMAGE $PORT \"$CMD\""
- }
- dbupdates(){
- # Informações do container
- local CIDFILE="/opt/fakeCloud/cid/dbupdates.cid";
- local IMAGE=$AWS_REPO/dbupdates:latest;
- local PORT="9004:8080";
- local CMD="$CMD_START/dbupdates --server.servlet.context-path=/dbu";
- # O comando (start/stop) é o parâmetro $1
- eval "$1 $CIDFILE $IMAGE $PORT \"$CMD\""
- }
- gestor-clientes(){
- # Informações do container
- local CIDFILE="/opt/fakeCloud/cid/gestor-clientes.cid";
- local IMAGE=$AWS_REPO/gestor-clientes:latest;
- local PORT="9005:8080";
- local CMD="$CMD_START/gestorcliente --server.contextPath=/gc";
- # O comando (start/stop) é o parâmetro $1
- eval "$1 $CIDFILE $IMAGE $PORT \"$CMD\""
- }
- softmanager(){
- # Informações do container
- local CIDFILE="/opt/fakeCloud/cid/softmanager.cid";
- local IMAGE=$AWS_REPO/softmanager:latest;
- local PORT="9006:8080";
- local CMD="$CMD_START/softmanager --server.contextPath=/sm";
- # O comando (start/stop) é o parâmetro $1
- eval "$1 $CIDFILE $IMAGE $PORT \"$CMD\""
- }
- apidocs(){
- # Informações do container
- local CIDFILE="/opt/fakeCloud/cid/apidocs.cid";
- local IMAGE=$AWS_REPO/apidocs:latest;
- local PORT="9007:80";
- # O comando (start/stop) é o parâmetro $1
- eval "$1 $CIDFILE $IMAGE $PORT"
- }
- elvis(){
- # Informações do container
- local CIDFILE="/opt/fakeCloud/cid/elvis.cid";
- local IMAGE=$AWS_REPO/elvis:latest;
- local PORT="9008:80";
- # O comando (start/stop) é o parâmetro $1
- eval "$1 $CIDFILE $IMAGE $PORT"
- }
- menu(){
- # Informações do container
- local CIDFILE="/opt/fakeCloud/cid/menu.cid";
- local IMAGE=$AWS_REPO/menu:latest;
- local PORT="9009:8080";
- local CMD="$CMD_START/msMenu --server.servlet.context-path=/menu";
- # O comando (start/stop) é o parâmetro $1
- eval "$1 $CIDFILE $IMAGE $PORT \"$CMD\""
- }
- cargo(){
- # Informações do container
- local CIDFILE="/opt/fakeCloud/cid/cargo.cid";
- local IMAGE=$AWS_REPO/cargo:latest;
- local PORT="9010:8080";
- local CMD="$CMD_START/msCargo --server.servlet.context-path=/cargo";
- # O comando (start/stop) é o parâmetro $1
- eval "$1 $CIDFILE $IMAGE $PORT \"$CMD\""
- }
- filial(){
- # Informações do container
- local CIDFILE="/opt/fakeCloud/cid/filial.cid";
- local IMAGE=$AWS_REPO/filial:latest;
- local PORT="9011:8080";
- local CMD="$CMD_START/msFilial --server.servlet.context-path=/filial";
- # O comando (start/stop) é o parâmetro $1
- eval "$1 $CIDFILE $IMAGE $PORT \"$CMD\""
- }
- verba(){
- # Informações do container
- local CIDFILE="/opt/fakeCloud/cid/verba.cid";
- local IMAGE=$AWS_REPO/verba:latest;
- local PORT="9012:8080";
- local CMD="$CMD_START/msVerba --server.servlet.context-path=/verba";
- # O comando (start/stop) é o parâmetro $1
- eval "$1 $CIDFILE $IMAGE $PORT \"$CMD\""
- }
- rh-frontend(){
- # Informações do container
- local CIDFILE="/opt/fakeCloud/cid/rh-frontend.cid";
- local IMAGE=$AWS_REPO/rh-frontend:latest;
- local PORT="9013:80";
- # O comando (start/stop) é o parâmetro $1
- eval "$1 $CIDFILE $IMAGE $PORT"
- }
- funcionario(){
- # Informações do container
- local CIDFILE="/opt/fakeCloud/cid/funcionario.cid";
- local IMAGE=$AWS_REPO/funcionario:latest;
- local PORT="9014:8080";
- local CMD="$CMD_START/msFuncionario --server.servlet.context-path=/funcionario";
- # O comando (start/stop) é o parâmetro $1
- eval "$1 $CIDFILE $IMAGE $PORT \"$CMD\""
- }
- evento(){
- # Informações do container
- local CIDFILE="/opt/fakeCloud/cid/evento.cid";
- local IMAGE=$AWS_REPO/evento:latest;
- local PORT="9015:8080";
- local CMD="$CMD_START/msEvento --server.servlet.context-path=/evento";
- # O comando (start/stop) é o parâmetro $1
- eval "$1 $CIDFILE $IMAGE $PORT \"$CMD\""
- }
- evento-funcionario(){
- # Informações do container
- local CIDFILE="/opt/fakeCloud/cid/eventoFuncionario.cid";
- local IMAGE=$AWS_REPO/eventofuncionario:latest;
- local PORT="9016:8080";
- local CMD="$CMD_START/msEventoFuncionario --server.servlet.context-path=/eventoFuncionario";
- # O comando (start/stop) é o parâmetro $1
- eval "$1 $CIDFILE $IMAGE $PORT \"$CMD\""
- }
- tabela-imposto(){
- # Informações do container
- local CIDFILE="/opt/fakeCloud/cid/tabela-imposto.cid";
- local IMAGE=$AWS_REPO/tabela-imposto:latest;
- local PORT="9018:8080";
- local CMD="$CMD_START/msTabelaImposto --server.servlet.context-path=/ti";
- # O comando (start/stop) é o parâmetro $1
- eval "$1 $CIDFILE $IMAGE $PORT \"$CMD\""
- }
- # de execução
- if [ "$1" = "start" ] ; then
- if [ -z "$2" ] ; then
- for img in "${IMAGENS[@]}" ; do
- eval "$img start";
- done;
- exit 0;
- else
- containsElement "$2" "${IMAGENS[@]}"
- if [ $? = 0 ] ; then
- eval "$2 start"
- else
- echo "$2 não foi configurada ainda."
- fi
- fi
- elif [ "$1" = "stop" ] ; then
- if [ -z "$2" ] ; then
- for img in "${IMAGENS[@]}" ; do
- eval "$img stop";
- done;
- else
- containsElement "$2" "${IMAGENS[@]}"
- if [ $? = 0 ] ; then
- eval "$2 stop"
- else
- echo "$2 não foi configurada ainda."
- fi
- fi
- exit 0;
- else
- showError
- fi
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement