我在git(和linux)上有点新鲜。 我是一个小团队的成员,负责将我们的项目部署到我们的debian服务器。
我们还处于项目的早期阶段,因此不需要过于复杂的部署解决方案。
无论如何。 我们的项目存储在github上,我们从/向上拉/推。 目前,当我想要部署的东西时,我使用git pull将它拉到我的Windows机器上。 然后我使用这个脚本:
cd src/www
scp -r app public <user>@<server-ip>:/home/www
我输入密码并上传文件。 然后我登录到服务器并重启服务(playframework) play restart --%prod
任何人都可以推荐一个简单的解决方案,使服务器从github获取更改并自动重启服务器? 我在这里查看了stackoverflow,但由于我对Linux和Git的经验不足,我找到的解决方案对我来说并没有多大意义。
一种选择是使用像Capistrano这样的部署库/框架。 配置部署(称为“配方”)后,Capistrano允许您从命令行轻松部署到一个或多个目标。 它还提供了一个很好的发布结构,使您可以更好地管理在任何给定时刻部署到目标的应用程序副本。
搜索“持续交付”以开始使用。 这不是GitHub的具体问题。
一种可能的设置可能是使用持续集成服务器Jenkins 。 它可以配置为定期检查您的GitHub仓库是否有变化。 如果发现更改,则可以在应用程序或Web服务器上创建构建和/或部署工件。
当然,持续集成基础架构的初始设置和维护需要时间,您必须判断是否值得付出努力。 然而,现在似乎已经具备了类似的东西。 您可能也对GitHub这篇文章感兴趣, 他们如何通过推送到他们的存储库直接部署它们 。