首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >远程服务器开发

远程服务器开发
EN

Software Engineering用户
提问于 2015-04-18 08:49:17
回答 2查看 134关注 0票数 0

我们正在处理一个django项目,该项目托管在amazon实例上。它处于非常早期的阶段,因此不断地进行更改,并且应该每天更新一次以上的webapp。现在,开发周期如下所示:

  1. 代码被修改/添加/删除。
  2. 它被推送到bitbucket存储库中。
  3. 我用ec2登录到ssh服务器。
  4. 从回购和合并中提取新代码。
  5. 重新启动服务器。

尽管如此,我并不认为这是使用远程服务器的最佳方式。

远程服务器上众所周知的开发技术是什么?

EN

回答 2

Software Engineering用户

回答已采纳

发布于 2015-04-18 09:00:37

我认为您需要的是一个持续集成(CI)服务器。您可以托管自己的服务,例如有BitBucket集成的Jenkins,或者使用托管服务,比如有免费计划的CodeShip

您可以尝试建立自己的脚本集来完成类似的工作,但是业界已经在这方面提供了一个解决方案。

您没有在您的问题中提到测试,但您也可以获得这些CI工具来运行您的测试,所以坏的构建不会进入生产。

票数 1
EN

Software Engineering用户

发布于 2015-04-18 15:11:24

你的问题有很多可能的解决办法。您可以轻松地编写脚本来自动化流程的步骤,或者使用现有的现成的连续集成解决方案。我将很快描述第一个解决方案,您将编写脚本来自己完成这一任务。

在部署webapp mywebapp的服务器上,编写一个部署应用程序最新版本的小脚本shell mywebapp_deployment_tool。我建议您保留一个与最新部署版本相对应的专用分支liverelease,这与开发分支不同。然后脚本的工作将是:

  1. 查看最新的live分支。
  2. 重新启动服务器(也许kill -HUP会这样做)。

现在,在您的服务器上创建一个部署基础设施存储库所拥有的git,并配置一个git钩子,它将在每次提交到mywebapp_deployment_tool分支时触发您的live

在您的开发存储库中,设置一个git挂钩,它将自动将合并推到live分支到服务器上的存储库。这反过来将触发部署脚本。

还请注意,可以使用VirtualBox或FreeBSD监狱来设置一个环境,在将更改合并到live之前,您可以在该环境中测试webapp。

这仅仅意味着不应将该存储库用于开发。

票数 1
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/279494

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档