Guia de uso

Subindo o serviço com a execução do projeto no ambiente docker

Para rodar todo o ambiente junto com este serviço basta rodar o docker-compose projeto csgrid que inclui todos os serviços de back-end incluindo os do soma-job-history. São usadas as imagens que estão cadastradas no docker-hub.

Para sobrescreever a imagem que o composer usa deste serviço temos que fazer o seguinte

  • Build do projeto java:
mvn package
  • Docker build para gerar a nova imagem docker usando o projeto compilado e o Dockerfile do projeto:
docker build -t csbase/soma-job-history . --build-arg JAR=<path-do-arquivo-jar-compilado>

Sem passar o parâmetro –build-arg JAR=<path-do-jar-compilado> o build será feito com um arquivo soma-job-history-*-SNAPSHOT.jar que estiver na pasta target.

  • Para rodar a imagem
    • Podemos passar o config do hibernate através de uma variável de ambiente HIBERNATE_CONFIG. Caso não seja passado, será usado um config default.
    • O job-history depende do postgres rodando. Se ele estiver rodando em um docker, podemos passar a network do docker. A porta escutada é a 8086.
  • Exemplo de execução rodando o postgres no docker-compose do csgrid (com a parte do job-history comentada):
docker run --network docker_default -p 8086:8086 -ti csbase/soma-job-history
  • Exemplo de execução passando um config para o hibernate:
docker run --network docker_default -p 8086:8086 --env HIBERNATE_CONFIG="hibernate.connection.url=jdbc:postgresql://postgres:5432/postgres,hibernate.connection.username=postgres,hibernate.connection.password=password,hibernate.hbm2ddl.auto=validate" -ti csbase/soma-job-history
  • Para executar todo o ambiente do backend com a imagem gerada pelo build, rodar o docker-compose do projeto csgrid.

Lançando versão release

Para lançar uma nova versão release, execute o comando abaixo, que atualizará o arquivo pom.xml e gerará uma tag com a nova versão.

mvn -DpreparationGoals=clean release:prepare

Ao terminar o comando, verifique se a tag foi criada e se o pipeline foi finalizado com sucesso. As etapas de k8s_run_stable e k8s_run_release precisam ser disparadas manualmente.

Dependências de outros sistemas ou microsserviços.

Todo o csgrid deve está executando para que o soma-job-history recebe informações de job em execução.