Задание Jenkins застряло при запуске файла.bat на удаленном сервере ssh (windows 2008 R2)

У меня есть установка Дженкинса, работающая на солярисе. Я настроил задание, которое запускает файл.bat, используя плагин jenkins ssh, на удаленном сервере Windows 2008 R2 с базой данных oracle. Файлы.bat выполняет восстановление RMAN в базе данных Oracle. У меня есть сервер openssh, работающий на сервере Windows 2008 R2. Когда я делаю восстановление в маленькой базе данных, которая занимает менее 30 минут, все работает отлично. Но когда база данных велика и восстановление занимает более 3 часов, задание jenkins зависает, даже если восстановление rman, назначенное заданием, успешно завершается на сервере.

Это команда, которую я запускаю в окне команд плагина jenkins ssh:

/cygdrive/C/OpenSSH/bin/SSH_ImportTEST_DB.bat TEST3

Это то, что делает файл.bat.

  1. Подготовьте базу данных для восстановления RMAN (запускает несколько команд sql как системный пользователь)
  2. Запустите восстановление RMAN
  3. Выполните еще несколько команд sql, чтобы база данных была доступна для всех пользователей, сбросьте пароли.

Шаг 1 и 2 работают нормально, но задание jenkins просто показывается как выполнение шага 2, даже если оно выполнено на удаленном сервере. Он никогда не выполняет шаг 3, если восстановление rman выполняется более 3 часов.

X:\oracle\admin\TEST3\scripts>rman auxiliary cmdfile=X:\oracle\admin\TEST3\scripts\restore_db2.sql log=Y:\oracle\NightlyBackup\Prod\restore_MSIPTST3.log 
RMAN> 2> 

Это то, что restore_db2.sql содержит:

DUPLICATE DATABASE TO TEST3 BACKUP LOCATION 'Y:\oracle\NightlyBackup\Prod';
exit;

Я попробовал restore_db2.sql без команды выхода, но это тоже не поможет.

Я настроил ServerAliveInterval 60 в ssh_config на сервере, где работает jenkins. Я также настроил ClientAliveInterval 60 в sshd_config на сервере openssh, чтобы исключить тайм-ауты.

Может кто-нибудь помочь?

1 ответ

Настройте ваш Windows-клиент в качестве подчиненного jenkins, потому что cygwin openssh не подходит для удаленных заданий. В вашем случае я бы порекомендовал вариант Java Web Start. Пример конфигурации опубликован на: https://wiki.jenkins-ci.org/display/JENKINS/Step+by+step+guide+to+set+up+master+and+slave+machines

Другие вопросы по тегам