Olá pessoal,
Estou realizando um trabalho que irá precisar executar um script .sql em uma base de dados Oracle, dentro de um pipeline. O pipeline é feito usando o Groovy do Jenkins e consegui até chamar o sqlplus usando:
"bat "sqlplus HR/HR@ORCL @${_script}"
Ou usando:
def proc = "cmd /c sqlplus HR/HR@ORCL @@${_script}".execute();
def sout = new StringBuffer()
def serr = new StringBuffer()
proc.consumeProcessOutput(sout, serr)
proc.waitForOrKill(1000)
Sei que existem formas melhores e elegantes para realizar a execução, por exemplo usando o liquibase ou flyway, mas no momento não existe a possíbilidade de executar com essas ferramentas.
O maior problema está em receber o retorno da execução e dar o pipeline como quebrado quando ocorrer um erro, pois hoje ele dá a execução com sucesso.
Teria como validar se der algum erro e com isso quebrar o pipeline?
Desde já Obrigado. Cesar Sturion