持续部署和 运行 TeamCiy

Continuous deployment and running with TeamCiy

我有一个内置于可执行文件中的项目。某种服务器。还有一个团队城市 CI。我将 Team City 配置为自动构建我的源代码。

我想完成以下步骤:

  1. 当有人提交回购协议时,Team City 会构建资源。 (完成)
  2. 构建的二进制文件被复制到某个位置。 (在 Team City 服务器 运行ning 所在的同一台机器上)
  3. 我的可执行文件使用一些参数启动。

前两个步骤我设法通过创建单独的构建配置来配置,以便使用 Artifacts 依赖项进行部署。但我不知道如何启动我的可执行文件。如果我使用 Command Line Build 步骤执行此操作,则 Build Agent 会挂起,直到应用程序被终止。我需要相反的东西 - 由 Build Agent 应用程序启动的应用程序应该存活很长时间,而 Build Agent 本身在 运行 运行我的 exe 后立即完成。

是否可以这样做,还是我误用了 CI?

我还需要能够进行重新部署:

  1. 杀死先前 运行 应用程序(按过程映像 f.e。)
  2. 执行常规部署的所有步骤。

搜索 "Continuous deployment" 只给出基于 Web 部署的结果,这不是我的情况。

为了实现您想要的效果,您可以尝试使用 PowerShell 构建步骤并使用以下脚本。

Start-Process myprogram.exe

这将 return 给您一个对象,但不会阻塞线程,也不会导致您的代理等待进程结束。

可以在 MSDN 上找到更多文档 - Start-Process Documentation

希望对您有所帮助

我不是 Windows 编程方面的专家,但恕我直言,您需要某种 "deployment script" 来完成所有工作。在 TC 端配置所有内容可能很危险(当 TC 关闭时,您的管道就会卡住)。

如何创建几个脚本来执行您在 2. 和 3. 中描述的操作,并 运行 它们在具有工件依赖性的单独构建配置中(如您所述)?在这种情况下,TC 设置更简单,您可以将此脚本保存在某些 VCS 存储库中并轻松更新它们,以便 TC 将使用最新版本。如果 TC 出现故障,您可以通过 运行 与 TC 相同的脚本手动部署。