【问题标题】:How to create a Mono build server on Linux (Jenkins on Ubuntu)如何在 Linux 上创建 Mono 构建服务器(Ubuntu 上的 Jenkins)
【发布时间】:2012-11-18 22:17:28
【问题描述】:

我正在尝试在 Ubuntu 上为 Mono 项目设置构建服务器。

我的动机是让我的 .NET C# 项目能够在 Linux 主机上运行。所以我想在 Windows/Linux 上开发,提交和推送,并在运行 Jenkins 的机器上构建 Linux 的二进制文件(已经有一个为 Windows 构建的实例)

似乎构建的服务器部分更容易,因为 Jenkins 提供了一种简单的方法来做到这一点。对于 Mono 部分,有很多依赖项和包可供选择。

所以我基本上跟着instructions for Jenkins provided at their side 和詹金斯跑了。

现在的问题是我需要安装什么才能让 Jenkins 构建 Mono 项目。我目前正在使用 Mono-Develop 3.0.4.7 并创建了一个测试控制台项目。我猜我不涉及任何第三方库,但我真的不知道 Mono 的 Windows 安装中包含什么。

所以这就是我要的:

  • 需要在 Ubuntu 上安装什么?拥有什么会更好?
  • 对项目文件有什么特殊要求吗?我读到 Mono 使用的是 Windows 项目格式。对吗?
  • 是否有 Jenkins 插件支持我为 Mono 构建?
  • 有什么需要特别注意的吗?比如向 PATH 或某些可能感兴趣的工具添加特殊路径?

任何知识来源都值得关注。如果他们解释为什么,我会很好,我不喜欢阅读“做这个,然后做那个,然后再做另一件事”,没有人解释背景,那么多;)

【问题讨论】:

    标签: ubuntu build mono jenkins continuous-integration


    【解决方案1】:

    在运行 Jenkins 的机器上构建的 Linux 二进制文件(已经有一个用于构建 Windows 的实例)

    如果你在 Windows 上有一个构建服务器来制作你的 .NET 程序集,那么你就不需要一个 linux 的。在 Windows 上使用 .NET 4.0 构建的程序集将在 linux 上使用最新的 Mono 运行时运行,而无需重新编译它们。只要您确保不使用 Mono 中缺少的任何 API。如果您使用的是缺少的 API,它无论如何都无法使用 Mono 进行编译。

    我建议省去在 Ubuntu 上手动构建 Mono SDK 的麻烦,并与 Windows 构建服务器保持一致。上次我检查你必须在你的 Ubuntu 系统上重建 Mono,因为 Ubuntu 的默认安装 Mono 已经过时了。

    【讨论】:

    • mh,我想我必须回到 CLI 学校了解程序集的特性...谢谢您的礼貌回答^^
    • @HaMster 这是一种可移植的格式。您甚至可以在 Linux 上使用 mono 命令行运行时运行使用 .NET 生成的 .exe 文件。
    • 我想问题是我一直在用 C# 开发时在 Windows 平台上玩,移植性不是那么明显;)
    • 仅当您在 Mono 与 .Net 上构建时不需要通过 #ifdefs 对代码进行任何修改时才适用 - 由于数据结构的实现差异,这种情况很常见。
    猜你喜欢
    • 1970-01-01
    • 2019-06-15
    • 1970-01-01
    • 2021-05-17
    • 1970-01-01
    • 1970-01-01
    • 2013-02-06
    • 1970-01-01
    • 2017-02-04
    相关资源
    最近更新 更多