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.