我在Openshift平台上有两个账户。我如何设置我的计算机,以便我可以用rhc
管理它们?我在命令行参数中找不到任何相关的选项
rhc
命令行工具自带全局选项-l, --rhlogin LOGIN
。您有两个选项:
-
在每个命令中使用
-l
标志来指定登录名:rhc app create <appname> <cartridge> [-l <login1/login2>]
-
在会话之间运行
rhc setup -l LOGIN
。一旦从一个帐户管理应用程序,你可以通过运行rhc account logout
来结束会话。rhc setup -l <login1> # First account's login rhc app create <appname> <cartridge> rhc logout rhc setup -l <login2> # Second account's login rhc app create <appname> <cartridge> rhc logout
执行rhc setup
命令时,用户名信息存储在.openshift/express.conf
文件中;因此,当您想要切换帐户时,需要再次运行它。
命令行还支持--conf
-在这里传递文件。
相当老的问题,但我使用另一个似乎更舒适的解决方案(至少对我来说)-环境变量OPENSHIFT_CONFIG
。
OPENSHIFT_CONFIG
环境变量可用于覆盖OpenShift配置名称(默认为"express")。
~/.openshift/${OPENSHIFT_CONFIG}.conf
,而不是~/.openshift/express.conf
。要切换到另一个OpenShift帐户,可以使用以下命令(Bash):
export OPENSHIFT_CONFIG=thenewone
rhc apps //apps on the new account
...
unset OPENSHIFT_CONFIG
rhc apps //apps on the default account
使用rhc 1.37.1进行验证,但应该可以与2013年5月以后发布的任何版本一起使用。
第一次运行rhc setup
命令时,将创建~/.openshift/express.conf
文件,其中包含初始服务器配置的设置。当您添加另一个服务器,或者使用--server
选项再次运行rhc setup
命令时,将创建~/.openshift/servers.yml
文件,其中包含每个服务器的设置。您可以编辑此文件以对服务器配置进行任何更改,并且这优先于初始的~/.openshift/express.conf
文件。
rhc server use server.name.example.co
rhc server use Server_Nickname
更多信息在这里
使用rhc setup -l <login>
。这里的login
是您注册的OpenShift帐户的email address
。
在Windows上,像我这样运行这些命令并响应(用<
和>
表示):
rhc setup -l login@domain.mail.com
Enter the server hostname: <openshift.redhat.com>
Password: <**********><Press Enter>
Generate a token now? (yes|no) y<Press Enter>
Generating an authorization token for this client ... lasts about 1 month
Saving configuration to C:UsersUserName.openshiftexpress.conf ... done
您的私人SSH密钥文件应该设置为仅对您自己可读。要进行此更改,请运行:
chmod 600 C:Users<Your Username>.sshid_rsa
你的客户端工具已经配置好了。
然后你可以使用控制台命令很长一段时间与生成令牌为您的OpenShift登录。
您可以使用server add
命令配置多个帐户,然后您可以在所有后续命令中使用--server
选项提供服务器昵称。例如:
rhc server add -l <first_account> --nickname srv1 <first-server>
rhc server add -l <second_account> --nickname srv2 <second-server>
您可以添加像-p, --use-authorized-tokens
这样的选项来抑制密码和令牌生成的提示。如果需要,还有--insecured
rhc server use srv1
rhc server use srv2
上面的命令执行某种初始化。完成以上两个步骤后,您就可以使用多个帐户了。
现在,在您的rhc
命令中,您需要指定应该使用哪个服务器。例如:
rhc app-show -n <domain> <app> --server srv1
上面的命令将显示srv1
中应用程序的详细信息。对于srv2
,您可以运行
rhc app-show -n <domain> <app> --server srv2