3

我对 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 缺乏经验而对我没有多大意义的解决方案。

4

2 回答 2

4

一种选择是使用像Capistrano这样的部署库/框架。一旦您配置好您的部署(称为“配方”),Capistrano 允许您从命令行非常轻松地部署到一个或多个目标。它还提供了一个很好的发布结构,允许您更好地管理在任何给定时刻部署到目标的应用程序副本。

于 2012-10-04T00:44:06.267 回答
0

搜索“持续交付”开始。这不是 GitHub 特定的问题。

一种可能的设置是使用持续集成服务器Jenkins。它可以配置为定期检查您的 GitHub 存储库是否有更改。如果发现更改,它可以在应用程序或 Web 服务器上创建构建和/或部署工件。

当然,持续集成基础架构的初始设置和维护需要时间,您必须判断是否值得付出努力。然而,在今天看来,拥有类似的东西是最先进的。您可能还对GitHub 开发人员的这篇文章感兴趣,他们如何通过推送到他们的存储库来直接部署

于 2012-10-04T19:14:56.043 回答