我正在配置一个jenkins作业,该作业运行一些测试任务,并将所有结果导出到支持作业(简称为sup),该作业将所有需要的数据上传到数据库中。现在,我有一个名为commitid.txt的文件,其中包含测试任务代码的提交ID。如何读取commitid.txt并将其内容设置为env var(例如COMMITID)?
我试图使用作业的名称和ID(例如build_number)来确定commitid.txt的放置位置并以sup方式获取它。 Sup将解析文件的内容。但是此方法是特定于作业的,也就是说,我需要对作业的名称进行硬编码来确定commitid.txt的URL。例如,如果作业为“ JOBAAA”,则URL为http://foo.bar.aaa/aaa/commitid.txt,如果作业为“ JOBBBB”,则URL为http://foo.bar.bbb/bbb/ / commitid.txt。这使得动态查找URL变得难以实施。
String foo(String jobName) {
// Some work...
String commitIDURL = "";
if (jobName.equals("AAA")) {
commitIDURL = // Some rule to decide URL;
}
else if (jobName.equals("BBB") {
commitIDURL = // Some other rule to decide URL;
}
else // Some more URLS
String commitIDContent = restTemplate.getForObject(commitIDURL, String.class);
// Upload commitID to db ...
Upload(jobName, commitIDContent, and more information needed)...;
}
在这里,我想自动读取commitid.txt的内容,并自动使用EnvInject将其另存为env变量(例如COMMIT_ID),这样我就可以轻松获取其值,而不用硬编码URL。 非常感谢!