我们有一个签入到GitHub的Java web服务项目。我们在从GitHub中提取文件的TeamCity中有一个相应的项目。TeamCity编译项目并将可部署的.war文件作为工件生成。
今天,TeamCity止步于此,只是坐在工件上。通常,我通过内置的Apache管理窗口在:8080端口上部署war文件。但是,我希望TeamCity在成功构建后自动执行此部署。
Apache服务器在Windows机上,TeamCity机器是Linux机。war文件被部署到/var/lib/tomcat7/webapps文件夹。
因此,我的问题可以归结为以下几点:如何设置TeamCity,使其获取war文件并将其复制到另一台计算机上的/var/lib/tomcat7/webapps?
我们也有类似的项目,TeamCity使用psake脚本将.NET项目部署到另一个Windows服务器上,即Windows到Windows的文件传输。psake也可以用来将文件传输到Linux吗?
我一直在考虑像Puppet和Putty这样的解决方案,但我真的不知道从哪里开始。
欢迎你的建议,安德拉斯
发布于 2014-02-02 06:29:20
我正在开发一个解决方案,它使用SCP和SSH来允许TeamCity将war文件复制到Tomcat服务器,然后运行一些定制的bash脚本来完成部署。
与此建议的解决方案类似。
Teamcity control application deploy?
目前遇到了SSH问题,但应该很快就能解决。
还可以选择使用Tomcat Management功能来上传war文件。
http://tomcat.apache.org/tomcat-7.0-doc/manager-howto.html#Deploy_A_New_Application_Remotely
我已经在测试环境中使用curl发出了请求。
https://stackoverflow.com/questions/21279864
复制相似问题