应用部署

应用部署

如果你遵守原则,你不需要做任何修改就可以在tsuru上部署。下面是应用部署在tsuru云上需要做的事情:

  • 从语言层面和操作系统层面定义好的依赖
  • 使用Procfile描述如何运行你的应用
    接下来我们稍微深入下这些话题。

部署不同的所有地方(不同的环境,比如开发或者产品环境)都应当通过环境变量管理。tsuru很重视这个原则,所以它使用的所有服务需要的配置都是通过环境变量去设置,这样在tsuru上部署不同的环境就会很轻松。比如,如果要使用tsuru上的服务,如MySQL,当你把应用绑定到服务时,tsuru会从service API收到连接MySQL的所需要的设置,如用户名,密码,地址和数据库名。有了这些信息,tsuru会在应用所在的每个单元中对应的环境变量设置这些值。这些变量的名字由服务提供,在这个例子中,是MySQL服务。

  1. import os
  2. DATABASES = {
  3. "NAME": os.environ.get("MYSQLAPI_DB_NAME"),
  4. "USER": os.environ.get("MYSQLAPI_DB_USER"),
  5. "HOST": os.environ.get("MYSQLAPI_HOST"),
  6. "PORT": "",

你可能会问自己,“我怎么才能知道这些变量名字?”,不过别害怕!在tsuru上绑定应用时,它会返回运行所有服务要求tsuru在应用的单元上设置的所有变量(没有值,因为你不需要它们),如果你在命令行历史中丢失了这些环境变量,别担心!你总是可以通过<insert command here>去检查你的应用使用的服务,都生成了哪些变量。