3.7 配置一个应用程序

一个 Deis 应用程序在环境变量中存储配置

配置一个应用程序

为已经已部署的应用程序使用 deis config 来修改环境变量。

  1. $ deis help config
  2. Valid commands for config:
  3. config:list list environment variables for an app
  4. config:set set environment variables for an app
  5. config:unset unset environment variables for an app
  6. config:pull extract environment variables to .env
  7. Use `deis help [command]` to learn more

当配置改变了,一个新发行版被创建和被自动部署。

附加的支持服务

Deis 把支持服务如数据库(databases), 缓存(caches) 和 队列(queues)看作是附加资源

比如,使用 deis config 设置一个 DATABASE_URL,给应用程序附加一个外部的 PostgreSQL 数据库。

  1. $ deis config:set DATABASE_URL=postgres://user:pass@example.com:5432/db
  2. === peachy-waxworks
  3. DATABASE_URL: postgres://user:pass@example.com:5432/db

执行 deis config:unset 拆分。

定制域名

你可以使用 deis domains 来添加或移除定制的域名到你的应用程序。

  1. $ deis domains:add hello.bacongobbler.com
  2. Adding hello.bacongobbler.com to finest-woodshed... done

一旦完成这个,你可以进入你的 DNS 注册商,并从新的应用名字到旧的设置一个 CNAME。

  1. $ dig hello.deisapp.com
  2. [...]
  3. ;; ANSWER SECTION:
  4. hello.bacongobbler.com. 1759 IN CNAME finest-woodshed.deisapp.com.
  5. finest-woodshed.deisapp.com. 270 IN A 172.17.8.100

注意
为你的根域名设置一个 CNAME 会引起问题。设置你的 @ 记录作为一个 CNAME 会引起所有的流量到其他的域名,包括 mail 和 SOA(“start-of-authority”)记录。高度推荐你给应用程序绑定一个子域名,不管怎样,你可以通过指定 @ 记录到负载均衡的地址来变通。

追踪变化

每次对你的应用程序做了一次构建或是配置变更,一个新版本被创建。使用 deis releases 追踪你应用程序的变化。

  1. $ deis releases
  2. === peachy-waxworks Releases
  3. v4 3 minutes ago gabrtv deployed d3ccc05
  4. v3 1 hour 17 minutes ago gabrtv added DATABASE_URL
  5. v2 6 hours 2 minutes ago gabrtv deployed 7cb3321
  6. v1 6 hours 2 minutes ago gabrtv deployed deis/helloworld

回滚应用程序

使用 deis rollback 来恢复到前面的版本

  1. $ deis rollback v2
  2. Rolled back to v2
  3. $ deis releases
  4. === folksy-offshoot Releases
  5. v5 Just now gabrtv rolled back to v2
  6. v4 4 minutes ago gabrtv deployed d3ccc05
  7. v3 1 hour 18 minutes ago gabrtv added DATABASE_URL
  8. v2 6 hours 2 minutes ago gabrtv deployed 7cb3321
  9. v1 6 hours 3 minutes ago gabrtv deployed deis/helloworld

注意
所有的发行版(包括回滚)都会追加到发行分类。