使用Jenkins通过SVN构建C#项目 - 构建成功,但是输出在哪里?

问题描述 投票:0回答:1

我想要的是创建一个 C# 项目的可安装安装文件,使用 SVN 作为源代码管理器,使用 Jenkins 作为 CI 工具。我已经通过输入 SVN 存储库 URL 配置了 jenkins。当我构建项目时,虽然构建成功,但我得到的输出是 2 个 xml 文件。

我如何才能为这个项目创建可安装的安装文件。

c# jenkins svn
1个回答
1
投票

查看作业的控制台输出。 我怀疑你的工作已经构建了你期望的输出,但詹金斯只是没有将其呈现给你。 您需要更改 Jenkins 作业以告诉它您期望的输出。

作业可以对输出文件进行归档和/或指纹识别。 如果您更改 Jenkins 作业,在配置页面中,您可以选择要存档的文件。 您需要告诉 Jenkins 您的构建输出在哪里,例如

MyProject\bin\Release\*
。 一旦 Jenkins 知道这一点,它将存储您已识别的文件并将它们呈现为作业输出工件。

然后,您可以使用这些输出文件来创建可安装的设置 - 手动创建,或者更好地作为另一个 Jenkin 作业。

您可以使用另一个 Jenkins 作业从上游作业复制到工件(请参阅CopyArtifact 插件),然后使用这些作业以及适合您的项目和部署需求的任何方法来创建可安装的设置。

或者,您可以更改原始作业,添加构建步骤来获取构建的输出并创建安装程序 - 但您需要再次告诉 Jenkins 它创建的 *.msi 或 *.zip 等是输出工件.

注意指纹识别是 Jenkins 用于存储作业中关键文件的哈希值并跟踪哪些文件的哪些版本在何处使用的一种方法。 例如。如果 JobA 构建了一个 MyProject.dll 文件,指纹识别意味着您可以知道 JobB build123 使用了 JobA build5 中的 dll。

通常我会存档所有构建输出(*.dll、*.exe、*.msi 等),并告诉 Jenkins 对所有存档工件进行指纹识别。

编辑:

我目前只能轻松访问 Hudson v1.386 服务器(即 Hudson/Jenkins 拆分之前的版本),因此这可能与 Jenkins 版本略有不同。

首先,进入 Jenkins 中的相关作业页面,然后单击左侧的 Workspace 链接。 这应该允许您查看工作区中的所有文件,即上次构建完成后检出和构建的所有文件。 检查您期望的输出文件是否存在。 如果没有,则说明您的构建步骤存在问题,无法生成预期的输出。 先解决这个问题。

一旦出现您期望的输出,您可以告诉 Jenkins 在每次构建后归档这些输出文件。 在作业配置页面上,有一个标题为“构建后操作”的部分。 这里的第二个选项是“归档工件”,选中该框。 然后在“要存档的文件”字段中,输入您认为输出的文件列表。 例如,我输入了 **/Release/*.msi, **/bin/Release/*, Database/Scripts/*.sql


我还检查了“记录文件指纹以跟踪使用情况”选项,然后“对所有存档的工件进行指纹识别”

完成此操作后,点击底部的“保存”,然后运行构建。 构建完成后,您应该在控制台底部看到类似以下内容的输出:

归档工件
记录指纹


项目页面应该有一个
Last Success Artifacts

链接,并且构建(从此时开始)将有一个 Build Artifacts 链接。 这些链接将显示存档文件的列表并允许您下载它们。 我相信这就是你所追求的。

我还建议查看此问题以获取更多信息:

Archive-the-artifacts-in-hudson-jenkins

© www.soinside.com 2019 - 2024. All rights reserved.