Не удается выполнить соединение с Postgres через Jenkins Groovy - PullRequest
0 голосов
/ 11 июля 2019

Использование Scriptler не может подключиться к Postgresql через Jenkins groovy, ни с помощью выполнения команды psql, ни с помощью jdbc:

  1. PSQL
command = """
        PGPASSWORD=1111\
        psql -h xxxx.rds.amazonaws.com\
        -U master -d yyy -c "select * from table"
        """
proc =  command.execute()
proc.waitFor()
return proc.in.text 

получаю ошибку

Невозможно запустить программу "PGPASSWORD = 1111": ошибка = 2, нет такого файла или каталога

  1. * 1014 JDBC *
import groovy.sql.Sql

def dbUrl      = "jdbc:postgresql://xxxx.rds.amazonaws.com/yyy"
def dbUser     = "master"
def dbPassword = "1111"
def dbDriver   = "org.postgresql.jdbcDriver"
def sql = Sql.newInstance(dbUrl, dbUser, dbPassword, dbDriver)

возвращает

java.lang.ClassNotFoundException: org.postgresql.jdbcDriver

Я установил плагины database, PostgreSQL API Plugin & database-postgresql. Jenkins v.2.176.1

1 Ответ

0 голосов
/ 11 июля 2019

Таким образом, ваша первая попытка с помощью command.execute () не будет работать, потому что вы пытаетесь использовать синтаксис команды оболочки и не запускаете оболочку.

Вторая попытка не будет работать, потому что вы должныскажите Groovy, где найти библиотеку postgress jdbc.Вы можете сделать это с помощью Groovy Grape.

Лично я бы выполнил команду psql, используя шаг оболочки.

...