Deployment 我应该如何创建自动部署脚本?
我需要创建一些方法来在Linux服务器上部署本地WAR文件。到目前为止,我一直在做的是以下过程:Deployment 我应该如何创建自动部署脚本?,deployment,automation,Deployment,Automation,我需要创建一些方法来在Linux服务器上部署本地WAR文件。到目前为止,我一直在做的是以下过程: 使用WinSCP上传WAR 使用PuTTY将SSH导入服务器 移动/重命名/删除某些文件文件夹以准备战争爆发 爆发战争 发送电子邮件通知用户重新启动 停止Tomcat服务器 使用tail确保服务器正确停止 将符号链接更改为指向爆炸战争 启动Tomcat 使用tail确保服务器正确启动 发送电子邮件通知用户已完成重新启动 这些东西都相对简单。我相信有无数种不同的方法可以做到这一点。我想听听一些选择。我
tail
确保服务器正确停止李>
tail
确保服务器正确启动李>
我应该提到,我正在使用Maven来构建战争。因此,如果我能与Maven一起完成所有这些,请让我知道 对于您的需求来说,这可能太繁重了,但是您有没有看过构建自动化工具,例如or?您可能还想看看,它更轻量级,并且是用Ruby编写的(而不是像我提到的另外两个那样使用Java)。这些工具可以做任何你说你需要在你的问题加上方式,方式更多 编辑
由于您希望这更多地是一个脚本语言的学习练习,而不是一个实用的解决方案,因此这里有一个想法供您参考。不要每次都手动将WAR上传到服务器,而是在服务器上设置一个存储库,并创建一个钩子(请参阅,尤其是),每次从远程计算机(即本地工作站)推送变更集时,该钩子都会执行Ruby(或ant,或maven)脚本。您可以编写脚本,以便它执行上面列表中的所有操作项。通过这种方式,您将学习三个新东西:分布式版本控制范例,如何定制上述工具,以及如何编写Ruby脚本与您的操作系统交互(因为您的操作非常繁重)。我的经验中最常见的是ant,它值得学习,它非常简单,而且非常有用
您应该明确地将其自动化,并且您的目标应该是让它在一个步骤中实现。您使用什么来构建WAR文件本身?使用相同的工具进行构建和部署有一些好处。在几个项目中,我使用Ant构建了一个Java项目并将其部署到服务器。我研究了CruiseControl。我会调查你提到的其他人,谢谢你。我愿意用软件来做这件事,但是如果可能的话我想避免。我宁愿花时间学习脚本语言,也不愿花时间学习使用软件。如果我的部署程序变得更复杂,我肯定会花时间进一步研究你提到的工具。Hudson比CruiseControl更容易设置。因为这对你来说更多的是一种学习经验,而不是实际需要,我将在我的答案中添加一个额外的建议。这个编辑看起来很棒,正是我感兴趣的。现在看来,我将开始使用哈德逊,以便完成一些实际工作。但当我有时间的时候,“学习练习”肯定是我会记住的。CC机器安装起来很麻烦。我强烈建议哈德逊公司将CC作为一种学习练习。