使用TeamCiy持续部署和运行

时间:2015-06-16 13:07:11

标签: .net continuous-integration teamcity exe continuous-deployment

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

我想实现以下步骤:

  1. 当有人投入回购时,源自Team City。 (完成)
  2. 已将内置二进制文件复制到某个位置。 (在Team City服务器运行的同一台机器上)
  3. 我的可执行文件带有一些参数。
  4. 我设法配置的前两个步骤,为具有Artifacts依赖性的部署创建单独的Build配置。但我不知道如何启动我的可执行文件。如果我使用命令行构建步骤而不是构建代理程序挂起,直到应用程序被终止。而我需要相反的 - 由Build Agent应用程序启动应该存在很长时间,而构建代理本身在运行我的exe后立即完成。

    是否可以这样做或者我滥用CI?

    此外,我需要能够进行重新部署:

    1. 杀死以前运行的应用程序(按过程映像f.e。)
    2. 执行常规部署的所有步骤。
    3. 搜索"持续部署"仅为基于Web的部署提供结果,而不是我的情况。

2 个答案:

答案 0 :(得分:2)

为了实现您的目标,您可以尝试使用PowerShell构建步骤并使用以下脚本。

Start-Process myprogram.exe

这将向您返回一个对象,但不会阻止该线程,也不会导致您的代理等待该进程结束。

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

希望这有帮助

答案 1 :(得分:1)

我不是Windows编程方面的专家,但恕我直言,你需要一些"部署脚本"完成所有工作。配置TC端的所有内容可能很危险(当TC关闭时,您的管道卡住)。

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