3.7 配置一个应用程序
一个 Deis 应用程序在环境变量中存储配置
配置一个应用程序
为已经已部署的应用程序使用 deis config 来修改环境变量。
$ deis help configValid commands for config:config:list list environment variables for an appconfig:set set environment variables for an appconfig:unset unset environment variables for an appconfig:pull extract environment variables to .envUse `deis help [command]` to learn more
当配置改变了,一个新发行版被创建和被自动部署。
附加的支持服务
Deis 把支持服务如数据库(databases), 缓存(caches) 和 队列(queues)看作是附加资源。
比如,使用 deis config 设置一个 DATABASE_URL,给应用程序附加一个外部的 PostgreSQL 数据库。
$ deis config:set DATABASE_URL=postgres://user:pass@example.com:5432/db=== peachy-waxworksDATABASE_URL: postgres://user:pass@example.com:5432/db
执行 deis config:unset 拆分。
定制域名
你可以使用 deis domains 来添加或移除定制的域名到你的应用程序。
$ deis domains:add hello.bacongobbler.comAdding hello.bacongobbler.com to finest-woodshed... done
一旦完成这个,你可以进入你的 DNS 注册商,并从新的应用名字到旧的设置一个 CNAME。
$ dig hello.deisapp.com[...];; ANSWER SECTION:hello.bacongobbler.com. 1759 IN CNAME finest-woodshed.deisapp.com.finest-woodshed.deisapp.com. 270 IN A 172.17.8.100
注意 为你的根域名设置一个 CNAME 会引起问题。设置你的 @ 记录作为一个 CNAME 会引起所有的流量到其他的域名,包括 mail 和 SOA(“start-of-authority”)记录。高度推荐你给应用程序绑定一个子域名,不管怎样,你可以通过指定 @ 记录到负载均衡的地址来变通。
追踪变化
每次对你的应用程序做了一次构建或是配置变更,一个新版本被创建。使用 deis releases 追踪你应用程序的变化。
$ deis releases=== peachy-waxworks Releasesv4 3 minutes ago gabrtv deployed d3ccc05v3 1 hour 17 minutes ago gabrtv added DATABASE_URLv2 6 hours 2 minutes ago gabrtv deployed 7cb3321v1 6 hours 2 minutes ago gabrtv deployed deis/helloworld
回滚应用程序
使用 deis rollback 来恢复到前面的版本
$ deis rollback v2Rolled back to v2$ deis releases=== folksy-offshoot Releasesv5 Just now gabrtv rolled back to v2v4 4 minutes ago gabrtv deployed d3ccc05v3 1 hour 18 minutes ago gabrtv added DATABASE_URLv2 6 hours 2 minutes ago gabrtv deployed 7cb3321v1 6 hours 3 minutes ago gabrtv deployed deis/helloworld
注意 所有的发行版(包括回滚)都会追加到发行分类。
