gpt4 book ai didi

django - 用于自动设置和部署 Django 项目的好工具

转载 作者:行者123 更新时间:2023-12-03 23:34:32 25 4
gpt4 key购买 nike

2021 年更新
今天我用Ansible对于这个和其他 devops 任务。在此过程中,我尝试了 Chef、Puppet、Saltstack 和 Docker 图像,但我发现对于我来说,作为一个在较小项目中工作的独立开发人员,像 Ansible 这样的轻量级工具非常适合。
原始问题(从 2011 年开始)
我刚开始是一名独立的 Web 开发人员,最近我通过提供一个相当简单的报价吓跑了一个客户
网站比他们预期的要高很多。基本上是
他们可以在托管解决方案中自己完成的宣传册软件
像 Wordpress.com 或 Google 网站。 除外一个 关键特征,即
让我觉得 Django 会很合适,还有一些合适的网络
可以激发发展动力。
在查看我在粗略估计中列出的任务时,它很漂亮
对我来说很明显,那里的大部分时间都不是
特定于该客户网站。这让我想到我应该
有一个脚本来自动化设置和部署新的过程
Django 项目。
仍然需要手动完成一些事情,例如:

  • 设置一个新的 VPS(或者在大多数情况下,只需在现有 VPS 上使用虚拟主机)。
  • 编辑 DNS 设置以指向 clientsdomain.com 和 test.clientsdomain.com
    到新的 VPS。
  • 设置 SSH key
  • 编辑配置文件。

  • 然后该脚本将执行以下操作:
  • 在新的 VPS 上安装一些需要的包
  • 在新的 VPS 上安装默认的 iptables 防火墙
  • 为 clientsdomain.com 和 test.clientsdomain.com 添加 nginx/apache 配置
  • 为 VPS 上的生产和测试以及在我的本地计算机上的开发设置新的数据库。
  • 创建一个新的 Django 项目并将其放在 Bitbucket 上。
  • 为生产、测试​​和开发设置 settings.py 和 local_settings.py
  • 为生产数据库和上传的文件目录设置异地备份例程。
  • 启用一些默认应用:flatpages、admin
  • 添加一些样板模板、几个样板平面和导航栏。
  • 添加 960.gs CSS 框架
  • 添加 jQuery
  • 为搜索设置 djapian 或 Haystack(包括用于自动更新的 cron 作业)。
  • 设置新的 Google 分析配置文件。
  • 包括在生产、测试​​和开发之间复制数据库的可能性
  • 设置 Pingdom 监控

  • 我用过 RakeFabric对于过去有些相似(但不那么雄心勃勃)的东西,我认为 Fabric 可能也非常适合这项任务,但我仍然希望您的意见。还有其他我应该研究的工具吗?我听说不错
    关于 Puppet 的事情但只是看看他们的网站(它包含 Enterprise 一词)让我觉得这对于单人操作来说可能是矫枉过正。

    最佳答案

    Puppet 对于小型项目来说可能看起来令人生畏和矫枉过正,因为它经常用于大型部署,但我用它来管理 standalone mode 中的一台机器没有客户端服务器设置,这样我就不必处理 SSL 证书和多台机器,这让事情变得更简单,但仍然给我带来好处,我可以进行非常快速的灾难恢复或移动我的主机而无需大量努力。有一些great reasons (幂等性、跨平台支持、完整生命周期管理、抽象、简洁的 DSL)用于在系统上使用现代配置管理系统,这些系统本质上是在循环中执行 ssh 或依赖于锁定您的平台的脚本。

    查看 learning puppet快速入门,包括示例和 VM 操场。您可以使用独立运行的简单 Puppet 脚本( list )完成真正有用的事情,然后在需要时开始学习所有高级功能。

    另一件好事是许多 Puppet list 和模块已经由其他人编写,并且在 Puppet Forge 上共享。和许多其他 advanced Puppet users .

    关于django - 用于自动设置和部署 Django 项目的好工具,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5485352/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com