1 - Drycc Workflow CLI
Drycc Workflow 命令行界面 (CLI) 或客户端允许您与 Drycc Workflow 进行交互。
安装
使用以下命令为 Linux 或 Mac OS X 安装最新的 drycc 客户端:
$ curl -sfL https://www.drycc.cc/install-cli.sh | bash -
安装程序将 drycc 放在当前目录中,但您应该将其移动到 $PATH 中的某个位置:
$ ln -fs $PWD/drycc /usr/local/bin/drycc
获取帮助
Drycc 客户端为每个命令提供了全面的文档。使用 drycc help 来探索可用的命令:
$ drycc help
The Drycc command-line client issues API calls to a Drycc controller.
Usage: drycc <command> [<args>...]
Auth commands::
login login to a controller
logout logout from the current controller
Subcommands, use `drycc help [subcommand]` to learn more::
...
要获取子命令的帮助,请使用 drycc help [subcommand]:
$ drycc help apps
Valid commands for apps:
apps:create create a new application
apps:list list accessible applications
apps:info view info about an application
apps:open open the application in a browser
apps:logs view aggregated application logs
apps:run run a command in an ephemeral app container
apps:destroy destroy an application
apps:transfer transfer app ownership to another user
Use `drycc help [command]` to learn more
支持多个配置文件
CLI 从默认的 client 配置文件读取,该文件位于您工作站上的 $HOME/.drycc/client.json。
通过设置 $DRYCC_PROFILE 环境变量或使用 -c 标志,可以轻松在多个 Drycc Workflow 安装或用户之间切换。
设置 $DRYCC_PROFILE 选项有两种方法。
- json 配置文件的路径。
- 配置文件名称。如果您将配置文件设置为仅名称,它将与默认配置文件一起保存,在
$HOME/.drycc/<name>.json中。
示例:
$ DRYCC_PROFILE=production drycc login drycc.production.com
...
Opening browser to http://drycc.example.com/v2/login/drycc/?key=4ccc81ee2dce4349ad5261ceffe72c71
Waiting for login... .o.Logged in as drycc
Configuration saved to /home/testuser/.drycc/production.json
$ DRYCC_PROFILE=~/config.json drycc login drycc.example.com
...
Opening browser to http://drycc.example.com/v2/login/drycc/?key=4ccc81ee2dce4349ad5261ceffe72c71
Waiting for login... .o.Logged in as drycc
Configuration saved to /home/testuser/config.json
配置标志的工作方式与 $DRYCC_PROFILE 相同并覆盖它:
$ drycc whoami -c ~/config.json
You are drycc at drycc.example.com
代理支持
如果您的工作站使用代理来访问集群所在的网络,请设置 http_proxy 或 https_proxy 环境变量以启用代理支持:
$ export http_proxy="http://proxyip:port"
$ export https_proxy="http://proxyip:port"
Note
对于本地 Minikube 集群,通常不需要配置代理。CLI 插件
插件允许开发人员扩展 Drycc 客户端的功能,添加新命令或功能。
如果指定了未知命令,客户端将尝试将命令作为破折号分隔的命令执行。在这种情况下,drycc resource:command 将执行 drycc-resource 并使用参数列表 command。完整形式:
$ # 以下两个命令相同
$ drycc accounts list
$ drycc-accounts list
命令后的任何标志也将作为参数发送到插件:
$ # 以下两个命令相同
$ drycc accounts list --debug
$ drycc-accounts list --debug
但命令前的标志不会:
$ # 以下两个命令相同
$ drycc --debug accounts list
$ drycc-accounts list
2 - 用户和注册
Workflow 使用 passport 组件来创建和授权用户,它可以配置 LDAP 认证选项或通过 passport 网站来注册用户。
登录到 Workflow
如果您已经有账户,请使用 drycc login 来针对 Drycc Workflow API 进行认证。
$ drycc login http://drycc.example.com
Opening browser to http://drycc.example.com/v2/login/drycc/?key=4ccc81ee2dce4349ad5261ceffe72c71
Waiting for login... .o.Logged in as drycc
Configuration file written to /root/.drycc/client.json
或者您可以使用用户名和密码登录 $ drycc login http://drycc.example.com –username=demo –password=demo Configuration file written to /root/.drycc/client.json
从 Workflow 注销
使用 drycc logout 从现有控制器会话注销。
$ drycc logout
Logged out as drycc
验证您的会话
您可以通过运行 drycc whoami 来验证您的客户端配置。
$ drycc whoami
You are drycc at http://drycc.example.com
Note
会话和客户端配置存储在~/.drycc/client.json 文件中。
3 - 用户和 SSH 密钥
对于通过 git push 进行的 Dockerfile 和 Buildpack 基础应用部署,Drycc Workflow 通过 SSH 密钥识别用户。SSH 密钥被推送到平台,并且必须对每个用户唯一。用户可以根据需要拥有多个 SSH 密钥。
生成 SSH 密钥
如果您还没有 SSH 密钥或者想为 Drycc Workflow 创建新密钥,请使用 ssh-keygen 生成新密钥:
$ ssh-keygen -f ~/.ssh/id_drycc -t rsa
Generating public/private rsa key pair.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /Users/admin/.ssh/id_drycc.
Your public key has been saved in /Users/admin/.ssh/id_drycc.pub.
The key fingerprint is:
3d:ac:1f:f4:83:f7:64:51:c1:7e:7f:80:b6:70:36:c9 admin@plinth-23437.local
The key's randomart image is:
+--[ RSA 2048]----+
| .. |
| ..|
| . o. .|
| o. E .o.|
| S == o..o|
| o +. .o|
| . o + o .|
| . o = |
| . . |
+-----------------+
$ ssh-add ~/.ssh/id_drycc
Identity added: /Users/admin/.ssh/id_drycc (/Users/admin/.ssh/id_drycc)
添加和移除 SSH 密钥
通过将 SSH 密钥的公钥部分发布到 Drycc Workflow,负责接收 git push 的组件将能够认证用户并确保他们有权访问目标应用。
$ drycc keys add ~/.ssh/id_drycc.pub
Uploading id_drycc.pub to drycc... done
您还可以随时查看与您的用户关联的密钥:
$ drycc keys list
ID OWNER KEY
admin@plinth-23437.local admin ssh-rsa abc AAAAB3Nz...3437.local
admin@subgenius.local admin ssh-rsa 123 AAAAB3Nz...nius.local
按名称移除密钥:
$ drycc keys remove admin@plinth-23437.local
Removing admin@plinth-23437.local SSH Key... don