【问题标题】:Understanding continuous deployment了解持续部署
【发布时间】:2014-12-29 06:01:20
【问题描述】:

我对持续部署流程的想法感到困惑。我试图理解这一点,所以我可能会错过/混合很多东西,所以请原谅我:

我有这样的流程:

a) 部署(第一次)

  • 从 SCM 构建一个包
  • SSH 进入云实例
  • 设置 LAMP
  • 设置应用程序目录、创建符号链接、运行数据库迁移等...
  • 运行 apache/mysql -done

b) 重新部署(第二次)

现在的问题是我们将如何修补自上次部署以来所做的更改。假设我们有数据库更改以及源代码更改或错误修复。我想到的一些问题是如何

  • 如何记住/存储每个部署配置(我们第一次运行的确切配置) (如果我们配置了不同/多个部署服务器,我们为每个部署所做的数据库密码、主机名、IP 地址和不同的配置选择)
  • 假设我们的包构建基于 svn/git 导出,所以我们不能使用 svn/git 更新 在这种情况下,如何修补更改或最佳做法是什么?
  • 我们可能有应用程序积累的静态文件,例如自上次以来的附件/文档 如何处理那些属于应用程序的静态内容?
  • 由于我在迁移工具(liquibase)下有 db,因此将更改推送到服务器并不难。 但是什么是最好的流程(例如备份......)

这些问题源于我对这些工具和技术的无知,并且不熟悉持续集成/交付/部署(如果是这样的话)。

你可能会问我到目前为止做了什么。我目前的部署工具包括 bash+perl+liquibase。 每次我们进行更改时,我们都必须构建完整的构建包并运行相同的步骤。问题是

  • 它不是完全自动的
  • 我们必须记住每个实例的部署配置,
  • 从旧部署目录中获取静态内容,
  • 使用带时间戳的符号链接

我目前的冒险是将所有构建/部署步骤迁移到 Phing 。我已经seen,所以它没有详细解决我的问题。

【问题讨论】:

    标签: php deployment phing continuous-deployment


    【解决方案1】:
    1. 如需自动化配置,请查看puppet
    2. 将您的数据库方案和示例数据置于源代码控制之下,像真正的代码一样部署它!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-04-20
      • 2016-10-15
      • 2016-04-09
      • 2014-03-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多