API integração

De Wiki NBS
Revisão de 18h39min de 7 de julho de 2023 por Marcelo.vieira (discussão | contribs)
Ir para navegação Ir para pesquisar

Seta-topo.png

Voltar para à Página principal > Sistema Plugins > Plugins Mercado > Plugin Autoarremate > API integração

Integração

Passo a passo Linux (criação e configuração do container Docker)

1- Fazer instalação do Docker correto para a versão da distribuição Linux instalada no servidor


1.1- Instalar Docker enginer

Docker enginer Debian 11:

  1. sudo apt install apt-transport-https ca-certificates curl gnupg lsb-release -y
  2. curl -fsSL <https://download.docker.com/linux/debian/gpg> | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
  3. echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] <https://download.docker.com/linux/debian> \\
  4. (lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
  5. sudo apt update
  6. sudo apt -y install docker-ce docker-ce-cli containerd.io
  7. sudo docker version-——————————-0
  8. sudo systemctl status docker
  9. sudo systemctl start docker
  10. sudo docker run hello-world
  11. sudo usermod -aG docker linuxtechi - **Permitir que o usuário local execute o comando Docker**

Docker enginer Debian 10:

  1. sudo apt update
  2. sudo apt install apt-transport-https ca-certificates curl gnupg2 software-properties-common
  3. curl -fsSL <https://download.docker.com/linux/debian/gpg> | sudo apt-key add -
  4. sudo add-apt-repository "deb [arch=amd64] <https://download.docker.com/linux/debian> $(lsb_release -cs) stable"
  5. sudo apt update
  6. apt-cache policy docker-ce
  7. sudo apt install docker-ce
  8. sudo systemctl status docker

Docker compose Debian 9:

  1. sudo curl -L [<https://github.com/docker/compose/releases/download/1.22.0/docker-compose-uname>](https://github.com/docker/compose/releases/download/1.22.0/docker-compose-`uname) -suname -m -o /usr/local/bin/docker-compose
  2. sudo chmod +x /usr/local/bin/docker-compose
  3. docker-compose --version

1.2- Instalar Docker compose

Docker compose Debian 11:

  1. sudo apt update
  2. sudo curl -L "<https://github.com/docker/compose/releases/download/v2.0.1/docker-compose-$>(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
  3. sudo chmod +x /usr/local/bin/docker-compose
  4. docker-compose --version

Docker compose Debian 10:

  1. sudo curl -L [<https://github.com/docker/compose/releases/download/1.25.3/docker-compose-uname>](https://github.com/docker/compose/releases/download/1.25.3/docker-compose-`uname) -suname -m -o /usr/local/bin/docker-compose
  2. sudo chmod +x /usr/local/bin/docker-compose
  3. docker-compose --version

Docker compose Debian 9:

  1. sudo apt update
  2. sudo apt install apt-transport-https ca-certificates curl gnupg2 software-properties-common
  3. curl -fsSL <https://download.docker.com/linux/debian/gpg> | sudo apt-key add -
  4. sudo add-apt-repository "deb [arch=amd64] <https://download.docker.com/linux/debian> $(lsb_release -cs) stable"
  5. sudo apt update
  6. apt-cache policy docker-ce
  7. sudo apt install docker-ce
  8. sudo systemctl status docker

2-Criação de pasta para alojamento dos plugin's

2.1- Na pasta raiz do seu servidor, crie uma pasta que comportará seu plugin.

comando: mkdir NBS-DockerProjects.

2.2-Imagem de como deve ficar a nomenclatura da pasta:

NBS-DockerProjects..png


3-Criação de pasta para criação do plugin.

3.1- Dentro da pasta NBS-DockerProjects, criar pasta para comportar os arquivos de configuração do plugin.

comando: mkdir AUTOARREMATE.

3.2-Imagem de como deve ficar a nomenclatura da pasta:

AutoArremate.png


4-Criação e configuração do contêiner para execução da API

4.1-Dentro da pasta AUTOARREMATE, criar arquivo vazio para comportar as configurações Docker do contêiner.

comando: touch docker-compose.yml

4.2-Imagem de como deve ficar a nomenclatura do arquivo/contêiner:

Docker-compose.yml .png

4.3-Realizar a configuração do arquivo/contêiner criado, conforme código e instruções contidas abaixo: (Nesta etapa, a posição dos espaços contidos no código não podem deferir do que está a seguir, recomendamos a cópia e posteriormente edição como instruído a seguir, tendo muito cuidado com tal critério.)

version: '3.3'

services:

    kong-database:

        image: postgres:9.6

        container_name: kong-database-hml

        restart: always

        environment:

          - POSTGRES_USER=kong

          - POSTGRES_DB=kong

          - POSTGRES_PASSWORD=kong

        volumes:

          - "./volumes/teste-autoarremate/postgres/data:/var/lib/postgresql/data"

        networks:

            - autoarremate-network

    kong-migrations:

        image: kong

        environment:

          - KONG_DATABASE=postgres

          - KONG_PG_HOST=kong-database

          - KONG_PG_PASSWORD=kong

          - KONG_CASSANDRA_CONTACT_POINTS=kong-database

        command: kong migrations bootstrap

        restart: on-failure

        depends_on:

          - kong-database

        networks:

            - autoarremate-network

    kong:

        image: kong

        container_name: kong-hml

        environment:

          - KONG_DATABASE=postgres

          - KONG_PG_HOST=kong-database

          - KONG_PG_USER=kong

          - KONG_PG_PASSWORD=kong

          - KONG_CASSANDRA_CONTACT_POINTS=kong-database

          - KONG_PROXY_ACCESS_LOG=/dev/stdout

          - KONG_ADMIN_ACCESS_LOG=/dev/stdout

          - KONG_PROXY_ERROR_LOG=/dev/stderr

          - KONG_ADMIN_ERROR_LOG=/dev/stderr

          - KONG_ADMIN_LISTEN=0.0.0.0:8001, 0.0.0.0:8444 ssl

        restart: on-failure

        ports:

          - 9093:8000

          - 2998:8001

        depends_on:

          - kong-migrations

        volumes:

          - "./volumes/teste-autoarremate/kong/data:/home/kong"

        networks:

          - autoarremate-network

    konga:

        image: pantsel/konga

        ports:

          - 1339:1337

        container_name: konga-hml

        environment:

          - NODE_ENV=production

        depends_on:

          - kong

        volumes:

          - "./volumes/teste-autoarremate/konga/data:/app/kongadata"

        networks:

          - autoarremate-network

    plugin-nbs-infra:

        image: (CONSULTAR NBS PARA OBTER IMAGEM ATUALIZADA)

        depends_on:

            - konga

        restart: always

        logging:

            options:

                max-size: "5m"

        env_file:

            pools.env

        environment:

            - SERVER_SERVLET_CONTEXT_PATH=/nbs-infra

            - container_name=plugin-nbs-infra

            - gateway_url=http://kong:8001

            - server_url=http://200.179.98.136:9098/nbs-infra

        volumes:

            - "./volumes/plugin-nbs-infra/data:/files"

        networks:

          - autoarremate-network

    plugin-autoarremate:

        container_name: plugin-autoarremate

        image: (CONSULTAR NBS PARA OBTER IMAGEM ATUALIZADA)

        restart: always

        logging:

            options:

                max-size: "5m"

        env_file:

            pools.env

        environment:

            - container_name=plugin-autoarremate

            - ARTIFACT_NAME=plugin-autoarremate

            - SERVER_SERVLET_CONTEXT_PATH=/autoarremate

            - gateway_url=http://kong:8001

        volumes:

            - "./volumes/cometa/:/files/"

        networks:

            - autoarremate-network

networks:

    autoarremate-network:

         driver: bridge


5-Criação e configuração do contêiner para execução da API

5.1-Dentro da pasta AUTOARREMATE, criar arquivo vazio para comportar as configurações Docker do contêiner.

comando: touch docker-compose.yml

5.2-Imagem de como deve ficar a nomenclatura do arquivo/contêiner:

Pools.env.png

5.3-Realizar a configuração do arquivo/contêiner criado, conforme código e instruções contidas abaixo: (Nesta etapa, a posição dos espaços contidos no código não podem deferir do que está a seguir, recomendamos a cópia e posteriormente edição como instruído a seguir, tendo muito cuidado com tal critério.)

ORACLE_SCHEMA=NBSGM (Adicionar schema do banco de dados)

ORACLE_SERVICE_NAME=nbs1 (Adicionar service name do banco de dados )

ORACLE_PORT=1521 (Adicionar porta do banco de dados)

ORACLE_HOST=100.0.65.225 (adicionar IP Host do linux que esta rodando a aplicação)

ORACLE_PASSWORD=new (senha do banco de dados)

ORACLE_USER=NBSGM (usuário do banco de dados)

cadastro_url= (Deixar em branco)

contabilFiscal_url= (Deixar em branco)

estoquePecas_url= (Deixar em branco)

notaFiscal_url= (Deixar em branco)

service_url= (Deixar em branco)

parts_url= (Deixar em branco)

vehicle_url= (Deixar em branco)

financeiro_url= (Deixar em branco)

gateway_url= (Deixar em branco)

server_url= (Deixar em branco)

nbs_datasources= (Deixar em branco)


6-Conferência

6.1-Para realizar a conferência se os contêineres estão sendo executados, deve-se conferir os status do docker

6.2.1-Comando: docker stats

6.2.2- Os containers que devem ser obtidos após realizar o comando, devem ser os seguintes:

-kong-database-hml

-kong-hml

-konga-hml

-autoarremate_plugin-nbs-infra

-plugin-autoarremate


Voltar para à Página principal > Sistema Plugins > Plugins Mercado > Plugin Autoarremate > API integração