所以我有一些服务器应用程序可以处理系统的核心功能。
这些当前在Windows环境中的.Net上运行。
我目前正在使用Gitlab在某些方面进行持续集成,但希望实现一种完全自动化的方法。
目前,我们有一台运行server1.exe server2.exe和server3.exe的计算机。这些必须正常关闭。
我正在查看有关连续部署的指南,但我觉得找不到适合我的情况的指南(但是可能是这样)。
我目前正在使用GitLab for CI。 (尽管我不喜欢将配置放在存储库的根目录中)
我想要计划的部署。因此,我可以将gitlab设置为在前一天晚上构建服务器应用程序。
我将如何自动化到达Windows服务器的二进制文件,正常关闭正在运行的可执行文件,部署新的可执行文件以及启动新的可执行文件。
理想情况下,我希望它具有可伸缩性,将来将可执行文件移至其他计算机上。
明智的做法是,有一个单独的可执行文件来监视应用程序的运行,在gitlab上查找“新版本”,当我单击“ GO”时,系统会自动关闭,提取可执行文件并启动。
我看到很多CD都是通过SSH到主机上的,但是Gitlab实例位于单独的网络上,理想情况下,我不想打开内部VM的ssh端口负载