- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 .net 应用程序,它有一个 MVC3 前端和 2 个 Windows 服务。
这一切都取决于 2 个 RavenDB 安装,它们可以作为 Windows 服务或 IIS 运行——我不在乎这里。
服务是使用 TopShelf 构建的,测试是直接使用 NUnint 完成的。我使用 Github 作为我的存储库。
理想情况下,在每次成功的“发布”构建时,我都希望构建、测试、删除目录和 RavenDb 数据目录,然后部署(Web 和服务),然后启动进程以在控制台应用程序上运行完成我是可以在默认数据集中运行的构建。
您将如何管理此处的部署?我还没有 CI 服务器。我有一个全新的服务器,我可以随心所欲地使用它。好久没做CI/CD了,怀疑武器变了。
我应该查看 MSBuild/NAnt 吗?拜托,雷克?队城?
您将如何管理后期构建流程?
最佳答案
我一直在将 Jenkins 与 psake 结合使用,它运行良好。老实说,大部分工作都是由 psake 完成的,Jenkins 只需拉下源代码,然后调用我的 psake 脚本,但正如 Nick Nieslanik 所说,如果您愿意,您可以轻松地让 Jenkins 直接调用 MSBuild/NUnit/etc。
通过仔细阅读 StackOverflow 上的 Jenkins 与 CruiseControl(.NET) 线程,普遍的共识似乎是选择 Jenkins。没有真正尝试过 CruiseControl 我不能保证这一点,但我会说 Jenkins 非常好。我发现 Jenkins 很容易设置。我快速浏览了 CruiseControl.NET,发现 Jenkins 更容易上手。我根本没看过 TeamCity,所以不能说。
Jenkins 有一个很好的插件系统,还有很多插件,包括一个用于 Powershell 的插件,可以很容易地调用 psake 脚本。
到目前为止,我认为 psake 很棒。它基于 rake 语法,但比 rake 更适合 Windows。由于它位于 powershell 之上,您可以利用它附带的许多方便的 Windows 管理功能。例如,参见 this post有关直接从您的 psake 任务设置和拆除 IIS 应用程序池和站点的一个很好的示例。我认为这很好,但我不确定您将如何在 MSBuild、Nant 或 rake 中做到这一点。基本的文件系统操作也是面包和黄油——似乎比使用一堆尖括号只是为了在某处复制一些文件要好。
至于MSBuild和Nant,我认为它们都非常强大,但是为这种东西编辑XML文件感觉很痛苦。 Powershell 是一种与 Windows 深度集成的适当脚本语言。 psake 是一个 DSL,用于在此之上构建和执行其他任务。这是一个很好的组合。
也就是说,对于实际构建,我只是将其从 psake 中转移到 msbuild,然后在我想要构建的解决方案/项目文件上调用它。 psake 有一个内置命令,用于调用 msbuild 并指定要使用的版本等。(说实话,到目前为止最痛苦的是 msbuild 对在 Visual Studio 中构建得很好的解决方案文件感到厌烦。)
当您使用 RavenDB 时,您可能有兴趣知道他们正在为 building RavenDB 使用 psake (和 Rhino-ESB )。
有关一般的一些好的 psake 技巧,请参阅 this post .
长话短说,我个人推荐 Jenkins 和 psake。该组合将与 git、msbuild、NUnit、IIS 甚至可能与 Windows 服务很好地集成。
关于deployment - 您将如何部署此 .net 堆栈?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9590422/
我是 DevOps 的新手。我为刚刚在 Digital Oceans 上创建的 Kubernetes 集群编写了一个 deployment.yaml 文件。创建部署不断出现我现在无法解码的错误。这只是
我需要能够在 Red5 运行时进行部署。我知道的唯一解决方案是使用 WAR 文件并将其放在文件夹中:webapp。 还有其他办法吗? 我使用的是 Red 5 v0.8。我使用 Eclipse 3.4
我收到以下错误: Recycling (Waiting for role to start... Sites are being deployed. [2012-12-17T05:30:10Z]) R
使用 TeamCity 6.5,我试图弄清楚如果可能的话,如何为特定的构建运行设置手动部署。 我希望能够做的是运行已经构建和测试的 TeamCity(仅需要部署工件 - 这不是 Web 应用程序或站点
我看到一个范围为环境的编辑变量权限。但是,似乎谁负责设置项目,谁就会负责创建变量,而其他一些安全实体将只负责修改值,特别是安全值。这可能吗? 编辑:再补充一点,我想我是在根据项目变量集请求权限。只有拥
在我通过命令部署到我的服务器后: bin/dep deploy 在“releases ”文件夹中,我有名为喜欢的文件夹 1 , 2 , 3 , ... 我怎样才能把它改成时间戳,所以在部署命令之后我会
问题: 我有一个手动干预步骤,其中包含执行部署的人员要遵循的文本步骤。 我想传递目标服务器的名称,这样这个人就不需要查找目标服务器名称。 例如,如下所示,我需要将它们解压缩到目标服务器上的某个位置。
这是一个系统 Octopus 部署变量: #{Octopus.Action[Deploy To Server].Output.Package.InstallationDirectoryPath} 文本
我正在尝试在 Octopus Deploy 中设置部署。与许多其他开发人员一样,我通过迭代来做到这一点:调整步骤/脚本/包 -> 单击“部署” -> 检查结果 -> 如果不满意,则重新开始。在 Oct
在使用 Network Deployment 安装 WebSphere Application Server 时,节点是: 物理机 操作系统实例 一组独立于物理机或操作系统实例的逻辑 WAS 实例 最
我知道目前有一个 feature request对于这样的事情,但我希望使用当前版本(1.6)有某种解决方法 我们从 TFS 中的开发分支为我们的开发和测试环境构建,并从 TFS 中的发布分支为我们的
我正在尝试运行由 MSBuild 生成的 ProjectName.deply.cmd 当参数 /p:DeployOnBuild=True通过。参数“ComputerName”之一将作为 https:/
有时首选和/或需要在单个服务器上托管数十个应用程序。不是说这是“对”或“错”,我只是说它发生了。 此配置的缺点是出现错误消息Waiting for the script in task [TASK I
部署准备使用的 erlang 应用程序时我 不要希望用户 在上找到正确的 erl 版本 互联网。 安装 erl vm 解压缩并确定梁文件的位置(与应用程序一起) 阅读自述文件 修改任何看起来像配置文件
使用Next.js创建的app部署到netlify时,出现如下错误,部署失败。 ────────────────────────────────────────────────────────────
我有一个包含两个模块的项目:客户端和服务器。在父 pom.xml 中,我添加了部署阶段的信息,以便部署到本地目录: 4.0.0 org.my myTest 0.1 pom m
我们正在运行 OD 1.6。 我想使用 OD 变量来更改不在应用设置部分中的值,例如 session 状态提供程序。 我知道我可以为此使用转换,但作为一家公司,我们更喜欢使用 OD 变量而不是转换,因
Plesk Obsidian 提供 GIT 部署,我们正在尝试将其配置为类似于我们之前在 CPANEL 上的配置(我们最近从与 CPANEL 的共享帐户升级到与 Plesk 的 VPS - Plesk
我对这个主题进行了大量研究,但找不到任何端到端解决方案来使用 TFS 2010 实现“一次构建并部署多次”。 基本上我在想的是有一个构建定义,它将构建一个解决方案,其中包含多个要部署的项目(Web 应
我已经阅读了关于如何使用 pm2 的几个问题和想法。在 Windows 机器下,不管你信不信,我以前的机器运行得很好......然后我不得不重新格式化它并完全忘记了我以前做过的事情:( 我已经安装了
我是一名优秀的程序员,十分优秀!