【问题标题】:Using personal library .jar in TFS Online build在 TFS Online 构建中使用个人库 .jar
【发布时间】:2017-06-28 02:58:54
【问题描述】:

我正在尝试使用 Team Foundation Server 开始对我的 Java/Maven 项目进行持续集成。我正在尝试构建两个项目:一个库和一个主项目。

当我从本地机器编译主项目时,它当前正在从本地 Artifactory 服务器获取 library.jar 文件(我的上级希望离开该服务器)。

我已经构建了库,由 git repo 的更改触发。我希望主项目能够在编译时使用这个生成的工件,但是我找不到有关如何将 Maven 指向 TFS 工件的文档。

您有没有在自己的项目中做到这一点?我将如何创建对 library.jar 的引用?

编辑:我不一定希望有构建触发。我正在尝试找出依赖管理。

【问题讨论】:

  • 构建代理可以访问工件服务器吗?如果是,您可以将构建好的 library.jar 文件发布到工件服务器。
  • 我没有使用本地构建服务器。如何让 TFSOnline 构建代理查看/访问 Artifactory?我如何告诉 TFSO Artifactory 服务器在哪里?在我的本地构建中,我在 Maven 的 settings.xml 中拥有所有这些信息

标签: java git maven tfs


【解决方案1】:

不确定我是否完全明白了你的意思,似乎你想开始在这个过程中进行持续集成:你的库项目自动构建由 git repo 的更改触发,然后你的主项目使用之前生成的 library.jar 构建.

很可能链接构建定义。此功能正在计划中,但还没有。

检查this website的QA:

我可以链接构建以便一个构建触发另一个构建吗?

还没有。

User Voice 上还有一个古老的建议 underplanned ,你可以跟踪状态。

也可以看看这个类似的问题:How to chain builds in TFS 2015?

如果您只想使用 Maven 构建您的 Java 应用程序,请查看tutorial

【讨论】:

  • 我目前正在使用 Maven 从 Windows 命令行手动构建这两个项目。我还设法用 TFS 编译库。我不知道如何告诉 TFS 对成功编译代码的依赖。由于本地机器上有一个全局 Maven 文件,本地 Maven 知道要查找 Artifactory。
  • 我很高兴等待链接构建。我只是想让它建立起来。
  • 在 tfs 构建定义中有一个内置的构建任务调用 maven(maven),这会有所帮助吗?在这种情况下,nuget 的另一种方法可能会有所帮助,创建包含库文件的自定义 nuget 包,并在构建定义中添加 nuget restore。然后 TFS 构建代理将自动查找文件和依赖项。
  • maven 构建步骤允许我选择一个 pom.xml 文件,但没有任何地方可以设置全局选项(如在我的本地 settings.xml 文件中)以将其指向库位置(无论是在 Artifactory 还是其他地方)。 Nuget 的常见问题解答说“最新版本的 NuGet 支持 C#、Visual Basic、F#、WiX 和 C++。” (不是 Java)
【解决方案2】:

您可以在构建定义中添加一个 Powershell 任务,以通过 Rest API 下载库构建工件:Get Build Artifacts

对于settings.xml文件,可以上传到版本控制中,指定“--settings settings.xml”使用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-28
    • 1970-01-01
    • 1970-01-01
    • 2014-11-26
    • 2016-04-09
    相关资源
    最近更新 更多