3.7 配置一个应用程序
一个 Deis 应用程序在环境变量中存储配置
配置一个应用程序
为已经已部署的应用程序使用 deis config
来修改环境变量。
$ deis help config
Valid commands for config:
config:list list environment variables for an app
config:set set environment variables for an app
config:unset unset environment variables for an app
config:pull extract environment variables to .env
Use `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-waxworks
DATABASE_URL: postgres://user:pass@example.com:5432/db
执行 deis config:unset
拆分。
定制域名
你可以使用 deis domains
来添加或移除定制的域名到你的应用程序。
$ deis domains:add hello.bacongobbler.com
Adding 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 Releases
v4 3 minutes ago gabrtv deployed d3ccc05
v3 1 hour 17 minutes ago gabrtv added DATABASE_URL
v2 6 hours 2 minutes ago gabrtv deployed 7cb3321
v1 6 hours 2 minutes ago gabrtv deployed deis/helloworld
回滚应用程序
使用 deis rollback
来恢复到前面的版本
$ deis rollback v2
Rolled back to v2
$ deis releases
=== folksy-offshoot Releases
v5 Just now gabrtv rolled back to v2
v4 4 minutes ago gabrtv deployed d3ccc05
v3 1 hour 18 minutes ago gabrtv added DATABASE_URL
v2 6 hours 2 minutes ago gabrtv deployed 7cb3321
v1 6 hours 3 minutes ago gabrtv deployed deis/helloworld
注意
所有的发行版(包括回滚)都会追加到发行分类。