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

时间:2012-01-25 05:21:28

标签: c# svn compiler-construction jenkins

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

我如何能够为该项目创建可安装的安装文件。

1 个答案:

答案 0 :(得分:1)

查看作业的控制台输出。我怀疑你的工作已经构建了你期望的输出,但Jenkins并没有把它呈现给你。你需要改变Jenkins的工作来告诉它你的期望是输出。

作业可以存档和/或指纹输出文件。如果您更改了Jenkins作业,则可以在配置页面中选择要归档的文件。您需要告诉Jenkins您的构建输出在哪里,例如MyProject\bin\Release\*。一旦Jenkins知道这一点,它将存储您已识别的文件并将其作为作业输出工件呈现。

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

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

另外,你可以改变原来的工作,添加构建步骤来获取构建的输出并创建安装程序 - 但是你需要告诉Jenkins它创建的* .msi或* .zip等是输出神器。

N.B。指纹识别是Jenkins用于存储来自作业的密钥文件的散列并跟踪哪些文件在哪里使用的方法。例如。如果JobA构建MyProject.dll文件,则指纹识别意味着您可以告诉JobB build123使用来自JobA build5的dll。

通常我会归档所有构建输出(* .dll,* .exe,* .msi等)并告诉Jenkins指纹所有归档工件。

编辑:

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

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

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

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

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

  

存档工件
  录制指纹

项目页面应该有一个 Last Successful Artifacts 链接,并且构建(从此时开始)将有一个 Build Artifacts 链接。

这些链接将显示已归档文件的列表,并允许您下载它们。我相信这就是你所追求的。

我还建议您查看这个麻烦问题以获取更多信息:Archive-the-artifacts-in-hudson-jenkins