【问题标题】:Using Jenkins for .Net and J2EE project将 Jenkins 用于 .Net 和 J2EE 项目
【发布时间】:2014-09-30 22:21:57
【问题描述】:

我想知道是否有人可以帮助我解决一些关于 Jenkins 的问题。我们将 Jenkins 用于 .Net 前端和 J2EE 后端项目。

  • 在使用 Jenkins 构建 .Net 项目时,在构建部署后将整个项目与所有依赖项打包在一起的步骤是什么?我使用 Nuget 完成了所有设置以获取依赖项,并且构建成功,但我仍然对打包感到困惑。我不确定是否应该在“添加构建后”步骤中使用“存档工件”,还是应该在 MSBuild 下使用命令行参数。据我了解,通过在 Add Post Build 步骤中使用“归档工件”,我们可以将整个包归档为 .Net 项目的 zip 文件或 Java 项目的 .war/.jar 文件。如果是这种情况,我应该在“要归档的文件”字段中输入什么?

  • 另一方面,在使用 MSBuild 时,我将这些行放在命令行参数下:

    /p:配置=发布 /p:DeployTarget=包 /p:CreatePackageOnPublish=真 /p:DeployIisAppPath=C:\Project /p:PackageLocation=C:\Project\SolutionFile.zip /p:IntermediateOutputPath=C:\Project\Temp

查看输出时,它为我提供了一个 PackageTmp 文件夹,其中包含项目所需的内容。但是,PackageTmp 文件夹之外是一个 Package 文件夹,其中包含 .cmd、.txt 和两个 .xml 文件。请问这些文件是否用于MSDeploy.exe的部署?除此之外,Package 文件夹之外是另一个包含大量 .dll、.pdb 和 .cache 文件的文件夹。请问这些文件是做什么用的,我需要它们吗? MSBuild 还创建了一个 TransformWebConfig 文件夹,我不知道这个文件夹是干什么用的。我来自 Java 背景,我不熟悉 .Net 堆栈。我也不确定我用于 MSBuild 的命令行参数是否正确。

另一方面,我们在 Java 项目中使用 NetBean。我的理解是 NetBean 使用 Ant 来管理依赖关系。我们应该切换到 Maven 来管理 Jenkins 下的依赖关系吗?特别是在 Jenkins 下使用 Ant 或 Maven 的优缺点是什么?我很抱歉问了很多问题。如果任何专家可以帮助我,我将不胜感激。非常感谢。

如果有专家可以帮助我,我将不胜感激。非常感谢。

【问题讨论】:

  • 你好,我觉得你应该把大的话题拆分成小的,一个一个的回答比较容易,没有相互关联。

标签: .net jenkins msbuild packaging msdeploy


【解决方案1】:

当您从工作区开始构建解决方案时,“要归档的文件”字段应该是输出文件夹(包含 .exe 或 .jav)。

对于 .Net 项目,它将类似于“YourMainProject/bin/Release”。\

之后,您可以在构建文件夹中找到输出文件夹。

P/S:我通常不使用这样的 Jenkins 插件,我更喜欢更复杂但更有趣的 powershell 来完成所有这些工作。 (我们甚至可以持续部署到 staging)

【讨论】:

  • 谢谢 Hiep。我最终使用 MSBuild 命令行参数来获取一个包含 .zip 文件和 2 个 xml 文件的包,以便通过 MSScript 进行部署。请问Ja​​va项目,我应该在Archive the Artifacts - Post Build Step中的“Files to archive”下放入什么。看起来我必须指向 .jar 或 .war 文件,但我不知道要指向哪个文件。我认为 .jar 或 .war 文件将在 Post Build Step 之后生成,但是从我一直在阅读的一些教程中,我必须先指出工件,我很困惑。如果您能帮助我,我将不胜感激。谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-06-15
  • 2018-01-18
相关资源
最近更新 更多