Я знаю, как запустить bash-скрипт на Jenkins. Однако, если я использую qsub для отправки сценария bash в систему OGE, как Дженкинс узнает, завершена моя работа или нет?
Отправить задание в Oracle Grid Engine в тестовой системе непрерывной интеграции Jenkins
Ответы (3)
Вы можете использовать «-sync y» на вашем qsub, чтобы заставить qsub ждать, пока задания не будут завершены.
Jenkins позволяет вам отправлять результаты сборки с помощью веб-API. В настоящее время я использую это для удаленного мониторинга работы сетки в моей организации. Если у вас есть возможность отправить веб-публикацию на сервер jenkins, вы можете использовать приведенный ниже сценарий для выполнения этой работы.
#!/bin/bash
MESSAGE="Some message about job success"
RUNTIME="Some calculation to estimate runtime"
USERNAME="userNameForJenkinsLogin"
PASSWORD="passwordForJenkinsLogin"
JENKINS_HOST="URLToJenkins"
TEST_NAME="Name of Test"
curl -i -X post -d "<run><log>$MESSAGE</log><result>0</result><duration>$RUNTIME</duration></run>" http://$USERNAME:$PASSWORD@$JENKINS_HOST/jenkins/job/$TEST_NAME/postBuildResult
плагин Jenkins SGE Cloud отправляет сборки в Sun Grid Engine ( SGE) пакетный планировщик. Поддерживаются как версия SGE с открытым исходным кодом, так и коммерческая версия Univa Grid Engine (UGE).
Этот подключаемый модуль добавляет новый тип шага сборки Выполнить задание в SGE, который отправляет пакетные задания в SGE. На этапе сборки отслеживается состояние задания и периодически добавляется ход выполнения в выходные данные консоли сборки. В случае сбоя сборки также отображаются ошибки и статус завершения задания. Если задание завершается в Jenkins, оно также завершается в SGE.
Сборки отправляются в SGE через новый тип облака — SGE Cloud. Облаку присваивается метка, как и любому другому подчиненному устройству. При запуске задания с соответствующей меткой SGE Cloud отправляет сборку в SGE.