Continuous integration 向Jenkins持续集成测试系统中的Oracle网格引擎提交作业

Continuous integration 向Jenkins持续集成测试系统中的Oracle网格引擎提交作业,continuous-integration,jenkins,qsub,sungridengine,Continuous Integration,Jenkins,Qsub,Sungridengine,我知道如何在詹金斯身上运行bash脚本。但是,如果我使用qsub将bash脚本提交给OGE系统,Jenkins如何知道我的工作是否终止 您可以在qsub上使用“-sync y”使qsub等待作业完成。Jenkins允许您使用基于web的API提交生成结果。我目前使用它来远程监控组织中的网格作业。如果您能够向jenkins服务器执行web发布,您可以使用下面的脚本来完成此任务 #!/bin/bash MESSAGE="Some message about job success" RUNTIME

我知道如何在詹金斯身上运行bash脚本。但是,如果我使用qsub将bash脚本提交给OGE系统,Jenkins如何知道我的工作是否终止

您可以在qsub上使用“-sync y”使qsub等待作业完成。

Jenkins允许您使用基于web的API提交生成结果。我目前使用它来远程监控组织中的网格作业。如果您能够向jenkins服务器执行web发布,您可以使用下面的脚本来完成此任务

#!/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
#/bin/bash
MESSAGE=“关于工作成功的一些信息”
RUNTIME=“估算运行时间的一些计算”
USERNAME=“userNameForJenkinsLogin”
PASSWORD=“passwordForJenkinsLogin”
JENKINS_HOST=“URLToJenkins”
测试名称=“测试名称”
curl-i-X post-d“$MESSAGE0$RUNTIME”http://$USERNAME:$PASSWORD@$JENKINS\u HOST/JENKINS/job/$TEST\u NAME/postBuildResult
将生成提交给Sun Grid Engine(SGE)批调度程序。SGE的开源版本和商用Univa网格引擎(UGE)均受支持

该插件在SGE上添加了一种新类型的构建步骤运行作业,该作业向SGE提交批处理作业。构建步骤监视作业状态,并定期将进度附加到构建的控制台输出。如果生成失败,还会出现错误和作业的退出状态。如果作业在Jenkins终止,也会在SGE终止


构建由一种新类型的云SGE cloud提交给SGE。云与其他任何从属云一样被赋予了一个标签。当运行带有匹配标签的作业时,SGE Cloud会将构建提交给SGE。

我检查了qsub支持的所有选项,但找不到“-sync y”。您有什么版本的SGE/OGE?试试“qsub-help”。我的是6.2u4,qsub-帮助列出了此选项:“[-sync y[es]|n[o]]等待作业结束并返回退出代码”。虽然此链接可以回答问题,但最好在此处包含答案的基本部分,并提供链接供参考。如果链接页面发生更改,仅链接的答案可能无效。-我添加了插件功能的详细信息,并更新了Jenkins wiki的链接,该链接有望保持稳定。