我为一个开发团队工作,他们的源代码位于远程jazz服务器中。他们给我发了一个团队邀请,我已经接受了,使用Eclipse RTC插件,我可以在本地机器中提取代码。我有以下目标要实现:
- 以完全无人值守的方式定期从jazz服务器中提取代码。例如,我想每4小时提取一次代码,并希望在提取的代码上触发本地jenkins构建
- 向利益相关者发送构建完成邮件
为了实现上述第1点,我做了以下工作:
-
尝试使用RTC Web客户端->源代码管理。对于自动化,我可以使用Selenium,然而,RTC Web客户端->源代码管理功能并不能提供一次从项目级别提取代码的功能,有些人必须浏览所有文件夹层次结构,并可以通过单击来提取单个文件。
-
我已经下载了RCT-SDK-3.0.zip,并尝试在我的Eclipse Kepler中使用插件,然而,我无法使其工作,主要是因为缺乏RTC-SDK API的知识,也因为我在这样做时遇到了以下错误:
位于的java.lang.NullPointerExceptioncom.ibm.team.repository.common.internal.util.VersionStringComparator.getIntegerParts(VersionStringComparator.java:71)在com.ibm.team.repository.common.internal.util.VersionStringComparator.innerCompare(VersionStringComparattor.java:45)在com.ibm.team.repository.common.internal.util.VersionStringComparator.compare(VersionStringComparattor.java:32)在com.ibm.team.repository.common.internal.util.ModelElementDescriptor$EvolutionDescriptorComponentVersionComparator.compare(ModelElementDescriptor.java:152)在com.ibm.team.repository.common.internal.util.InternalTeamPlatform.InitialAdapterRegistry(InternalTeamPlatform.java:248)在com.ibm.team.repository.common.internal.util.InternalTeamPlatform.start(InternalTeamPlatform.java:105)在com.ibm.team.repository.client.TeamPlatform.startup(TeamPlatform.java:49)
下面是我尝试过的代码:
TeamPlatform.startup();
ITeamRepository repo = TeamPlatform.getTeamRepositoryService().getTeamRepository("URL");
repo.registerLoginHandler(new ILoginHandler() {....};
repo.login(null);
调用API时出现上述错误TeamPlatform.startup()
请注意,我没有任何权限更改远程Jazz服务器上的配置,也不能要求它。
我正在努力实现的目标,有可能实现吗?
想要在提取的代码上触发本地jenkins构建。
然后最好有自己的Jenkins master(它将在这里作为它的主要从属服务器),并使用官方的Jenkins Team Concert插件将RTC集成到Jenkins中。
除了Jenkins之外,你所需要的就是解压缩一个构建系统工具包,并在你的RTC Jenkins工作中引用它
该作业将使用一个工作区,该工作区将作为jenkins作业路径中的本地沙盒进行检出。