本文整理汇总了Golang中github.com/convox/rack/cmd/convox/stdcli.Usage函数的典型用法代码示例。如果您正苦于以下问题:Golang Usage函数的具体用法?Golang Usage怎么用?Golang Usage使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了Usage函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。
示例1: cmdServiceCreate
func cmdServiceCreate(c *cli.Context) {
// ensure type included
if !(len(c.Args()) > 0) {
stdcli.Usage(c, "create")
return
}
// ensure everything after type is a flag
if len(c.Args()) > 1 && !strings.HasPrefix(c.Args()[1], "--") {
stdcli.Usage(c, "create")
return
}
t := c.Args()[0]
if t == "help" {
stdcli.Usage(c, "create")
return
}
options := stdcli.ParseOpts(c.Args()[1:])
for key, value := range options {
if value == "" {
options[key] = "true"
}
}
var optionsList []string
for key, val := range options {
optionsList = append(optionsList, fmt.Sprintf("%s=%q", key, val))
}
if options["name"] == "" {
options["name"] = fmt.Sprintf("%s-%d", t, (rand.Intn(8999) + 1000))
}
fmt.Printf("Creating %s (%s", options["name"], t)
if len(optionsList) > 0 {
fmt.Printf(": %s", strings.Join(optionsList, " "))
}
fmt.Printf(")... ")
_, err := rackClient(c).CreateService(t, options)
if err != nil {
stdcli.Error(err)
return
}
fmt.Println("CREATING")
}
开发者ID:cleblanc87,项目名称:rack,代码行数:51,代码来源:services.go
示例2: cmdExec
func cmdExec(c *cli.Context) {
fd := os.Stdin.Fd()
stdinState, err := terminal.GetState(int(fd))
defer terminal.Restore(int(fd), stdinState)
_, app, err := stdcli.DirApp(c, ".")
if err != nil {
stdcli.Error(err)
return
}
if len(c.Args()) < 2 {
stdcli.Usage(c, "exec")
return
}
ps := c.Args()[0]
code, err := rackClient(c).ExecProcessAttached(app, ps, strings.Join(c.Args()[1:], " "), os.Stdin, os.Stdout)
terminal.Restore(int(fd), stdinState)
if err != nil {
stdcli.Error(err)
return
}
os.Exit(code)
}
开发者ID:inconshreveable,项目名称:rack,代码行数:29,代码来源:exec.go
示例3: cmdEnvList
func cmdEnvList(c *cli.Context) error {
_, app, err := stdcli.DirApp(c, ".")
if err != nil {
return stdcli.Error(err)
}
if len(c.Args()) > 0 {
return stdcli.Error(fmt.Errorf("`convox env` does not take arguments. Perhaps you meant `convox env set`?"))
}
if c.Bool("help") {
stdcli.Usage(c, "")
return nil
}
env, err := rackClient(c).GetEnvironment(app)
if err != nil {
return stdcli.Error(err)
}
keys := []string{}
for key := range env {
keys = append(keys, key)
}
sort.Strings(keys)
for _, key := range keys {
fmt.Printf("%s=%s\n", key, env[key])
}
return nil
}
开发者ID:convox,项目名称:rack,代码行数:34,代码来源:env.go
示例4: cmdRegistryAdd
func cmdRegistryAdd(c *cli.Context) {
if len(c.Args()) < 1 {
stdcli.Usage(c, "add")
return
}
server := c.Args()[0]
username := c.String("username")
password := c.String("password")
email := c.String("email")
if username == "" {
username = promptForUsername()
}
if password == "" {
password = promptForPassword()
}
_, err := rackClient(c).AddRegistry(server, username, password, email)
if err != nil {
stdcli.Error(err)
return
}
fmt.Println("Done.")
}
开发者ID:cleblanc87,项目名称:rack,代码行数:28,代码来源:registries.go
示例5: cmdRackScale
func cmdRackScale(c *cli.Context) error {
// initialize to invalid values that indicate no change
count := -1
typ := ""
if c.IsSet("count") {
count = c.Int("count")
}
if c.IsSet("type") {
typ = c.String("type")
}
// validate no argument
switch len(c.Args()) {
case 0:
if count == -1 && typ == "" {
displaySystem(c)
return nil
}
// fall through to scale API call
default:
stdcli.Usage(c, "scale")
return nil
}
_, err := rackClient(c).ScaleSystem(count, typ)
if err != nil {
return stdcli.ExitError(err)
}
displaySystem(c)
return nil
}
开发者ID:gmelika,项目名称:rack,代码行数:34,代码来源:rack.go
示例6: cmdRun
func cmdRun(c *cli.Context) error {
if c.Bool("detach") {
return cmdRunDetached(c)
}
_, app, err := stdcli.DirApp(c, ".")
if err != nil {
return stdcli.Error(err)
}
if len(c.Args()) < 2 {
stdcli.Usage(c, "run")
return nil
}
ps := c.Args()[0]
err = validateProcessId(c, app, ps)
if err != nil {
return stdcli.Error(err)
}
args := strings.Join(c.Args()[1:], " ")
release := c.String("release")
code, err := runAttached(c, app, ps, args, release)
if err != nil {
return stdcli.Error(err)
}
return cli.NewExitError("", code)
}
开发者ID:convox,项目名称:rack,代码行数:32,代码来源:run.go
示例7: cmdBuildsInfo
func cmdBuildsInfo(c *cli.Context) error {
_, app, err := stdcli.DirApp(c, ".")
if err != nil {
return stdcli.Error(err)
}
if len(c.Args()) != 1 {
stdcli.Usage(c, "info")
return nil
}
build := c.Args()[0]
b, err := rackClient(c).GetBuild(app, build)
if err != nil {
return stdcli.Error(err)
}
fmt.Printf("Build %s\n", b.Id)
fmt.Printf("Status %s\n", b.Status)
fmt.Printf("Release %s\n", b.Release)
fmt.Printf("Description %s\n", b.Description)
fmt.Printf("Started %s\n", humanizeTime(b.Started))
fmt.Printf("Elapsed %s\n", stdcli.Duration(b.Started, b.Ended))
return nil
}
开发者ID:convox,项目名称:rack,代码行数:27,代码来源:builds.go
示例8: cmdServiceURL
func cmdServiceURL(c *cli.Context) error {
if len(c.Args()) != 1 {
stdcli.Usage(c, "url")
return nil
}
name := c.Args()[0]
service, err := rackClient(c).GetService(name)
if err != nil {
return stdcli.ExitError(err)
}
if service.Status == "failed" {
return stdcli.ExitError(fmt.Errorf("Service failure for %s", service.StatusReason))
}
if service.URL == "" {
return stdcli.ExitError(fmt.Errorf("URL does not exist for %s", service.Name))
}
fmt.Printf("%s\n", service.URL)
return nil
}
开发者ID:gmelika,项目名称:rack,代码行数:25,代码来源:services.go
示例9: cmdSSLDelete
func cmdSSLDelete(c *cli.Context) {
_, app, err := stdcli.DirApp(c, ".")
if err != nil {
stdcli.Error(err)
return
}
if len(c.Args()) != 1 {
stdcli.Usage(c, "delete")
return
}
port := c.Args()[0]
fmt.Printf("Deleting SSL listener on port %s... ", port)
_, err = rackClient(c).DeleteSSL(app, port)
if err != nil {
stdcli.Error(err)
return
}
fmt.Println("Done.")
}
开发者ID:nicolas-brousse,项目名称:rack,代码行数:26,代码来源:ssl.go
示例10: cmdReleaseInfo
func cmdReleaseInfo(c *cli.Context) {
if len(c.Args()) < 1 {
stdcli.Usage(c, "release info")
return
}
release := c.Args()[0]
_, app, err := stdcli.DirApp(c, ".")
if err != nil {
stdcli.Error(err)
return
}
r, err := rackClient(c).GetRelease(app, release)
if err != nil {
stdcli.Error(err)
return
}
fmt.Printf("Id %s\n", r.Id)
fmt.Printf("Build %s\n", r.Build)
fmt.Printf("Created %s\n", r.Created)
fmt.Printf("Env ")
fmt.Println(strings.Replace(r.Env, "\n", "\n ", -1))
}
开发者ID:cleblanc87,项目名称:rack,代码行数:29,代码来源:releases.go
示例11: cmdRun
func cmdRun(c *cli.Context) {
if c.Bool("detach") {
cmdRunDetached(c)
return
}
_, app, err := stdcli.DirApp(c, ".")
if err != nil {
stdcli.Error(err)
return
}
if len(c.Args()) < 2 {
stdcli.Usage(c, "run")
return
}
ps := c.Args()[0]
args := strings.Join(c.Args()[1:], " ")
code, err := runAttached(c, app, ps, args)
if err != nil {
stdcli.Error(err)
return
}
os.Exit(code)
}
开发者ID:soulware,项目名称:rack,代码行数:31,代码来源:run.go
示例12: cmdRunDetached
func cmdRunDetached(c *cli.Context) {
_, app, err := stdcli.DirApp(c, ".")
if err != nil {
stdcli.Error(err)
return
}
if len(c.Args()) < 1 {
stdcli.Usage(c, "run")
return
}
ps := c.Args()[0]
command := ""
if len(c.Args()) > 1 {
args := c.Args()[1:]
command = strings.Join(args, " ")
}
fmt.Printf("Running `%s` on %s... ", command, ps)
err = rackClient(c).RunProcessDetached(app, ps, command)
if err != nil {
stdcli.Error(err)
return
}
fmt.Println("OK")
}
开发者ID:soulware,项目名称:rack,代码行数:33,代码来源:run.go
示例13: cmdPsStop
func cmdPsStop(c *cli.Context) {
_, app, err := stdcli.DirApp(c, ".")
if err != nil {
stdcli.Error(err)
return
}
if len(c.Args()) != 1 {
stdcli.Usage(c, "stop")
return
}
id := c.Args()[0]
fmt.Printf("Stopping %s... ", id)
_, err = rackClient(c).StopProcess(app, id)
if err != nil {
stdcli.Error(err)
return
}
fmt.Println("OK")
}
开发者ID:nicolas-brousse,项目名称:rack,代码行数:26,代码来源:ps.go
示例14: cmdSSLList
func cmdSSLList(c *cli.Context) error {
_, app, err := stdcli.DirApp(c, ".")
if err != nil {
return stdcli.ExitError(err)
}
if len(c.Args()) > 0 {
return stdcli.ExitError(fmt.Errorf("`convox ssl` does not take arguments. Perhaps you meant `convox ssl update`?"))
}
if c.Bool("help") {
stdcli.Usage(c, "")
return nil
}
ssls, err := rackClient(c).ListSSL(app)
if err != nil {
return stdcli.ExitError(err)
}
t := stdcli.NewTable("TARGET", "CERTIFICATE", "DOMAIN", "EXPIRES")
for _, ssl := range *ssls {
t.AddRow(fmt.Sprintf("%s:%d", ssl.Process, ssl.Port), ssl.Certificate, ssl.Domain, humanizeTime(ssl.Expiration))
}
t.Print()
return nil
}
开发者ID:gmelika,项目名称:rack,代码行数:29,代码来源:ssl.go
示例15: cmdExec
func cmdExec(c *cli.Context) {
_, app, err := stdcli.DirApp(c, ".")
if err != nil {
stdcli.Error(err)
return
}
if len(c.Args()) < 1 {
stdcli.Usage(c, "exec")
return
}
ps := c.Args()[0]
command := ""
if len(c.Args()) > 1 {
args := c.Args()[1:]
command = strings.Join(args, " ")
}
err = stdcli.Run("docker", "exec", "-it", fmt.Sprintf("%s-%s", app, ps), "sh", "-c", command)
if err != nil {
stdcli.Error(err)
return
}
}
开发者ID:harryross,项目名称:rack,代码行数:29,代码来源:exec.go
示例16: cmdReleasePromote
func cmdReleasePromote(c *cli.Context) {
if len(c.Args()) < 1 {
stdcli.Usage(c, "release promote")
return
}
release := c.Args()[0]
_, app, err := stdcli.DirApp(c, ".")
if err != nil {
stdcli.Error(err)
return
}
fmt.Printf("Promoting %s... ", release)
_, err = rackClient(c).PromoteRelease(app, release)
if err != nil {
stdcli.Error(err)
return
}
fmt.Println("UPDATING")
}
开发者ID:cleblanc87,项目名称:rack,代码行数:26,代码来源:releases.go
示例17: cmdReleasePromote
func cmdReleasePromote(c *cli.Context) error {
if len(c.Args()) < 1 {
stdcli.Usage(c, "releases promote")
return nil
}
release := c.Args()[0]
_, app, err := stdcli.DirApp(c, ".")
if err != nil {
return stdcli.ExitError(err)
}
fmt.Printf("Promoting %s... ", release)
_, err = rackClient(c).PromoteRelease(app, release)
if err != nil {
return stdcli.ExitError(err)
}
fmt.Println("UPDATING")
if c.Bool("wait") {
fmt.Printf("Waiting for stabilization... ")
if err := waitForReleasePromotion(c, app, release); err != nil {
return stdcli.ExitError(err)
}
fmt.Println("OK")
}
return nil
}
开发者ID:gmelika,项目名称:rack,代码行数:34,代码来源:releases.go
示例18: cmdSSLDelete
func cmdSSLDelete(c *cli.Context) {
_, app, err := stdcli.DirApp(c, ".")
if err != nil {
stdcli.Error(err)
return
}
if len(c.Args()) != 1 {
stdcli.Usage(c, "delete")
return
}
target := c.Args()[0]
parts := strings.Split(target, ":")
if len(parts) != 2 {
stdcli.Error(fmt.Errorf("target must be process:port"))
return
}
fmt.Printf("Deleting SSL listener %s... ", target)
_, err = rackClient(c).DeleteSSL(app, parts[0], parts[1])
if err != nil {
stdcli.Error(err)
return
}
fmt.Println("Done.")
}
开发者ID:kuenzaa,项目名称:rack,代码行数:33,代码来源:ssl.go
示例19: cmdInstancesList
func cmdInstancesList(c *cli.Context) error {
if len(c.Args()) > 0 {
return stdcli.ExitError(fmt.Errorf("`convox instances` does not take arguments. Perhaps you meant `convox instances ssh`?"))
}
if c.Bool("help") {
stdcli.Usage(c, "")
return nil
}
instances, err := rackClient(c).GetInstances()
if err != nil {
return stdcli.ExitError(err)
}
t := stdcli.NewTable("ID", "AGENT", "STATUS", "STARTED", "PS", "CPU", "MEM")
for _, i := range instances {
agent := "off"
if i.Agent {
agent = "on"
}
t.AddRow(i.Id, agent, i.Status,
humanizeTime(i.Started),
strconv.Itoa(i.Processes),
fmt.Sprintf("%0.2f%%", i.Cpu*100),
fmt.Sprintf("%0.2f%%", i.Memory*100))
}
t.Print()
return nil
}
开发者ID:gmelika,项目名称:rack,代码行数:33,代码来源:instances.go
示例20: cmdScale
func cmdScale(c *cli.Context) {
_, app, err := stdcli.DirApp(c, ".")
if err != nil {
stdcli.Error(err)
return
}
count := c.String("count")
memory := c.String("memory")
if len(c.Args()) == 0 && count == "" && memory == "" {
displayFormation(c, app)
return
}
if len(c.Args()) != 1 || (count == "" && memory == "") {
stdcli.Usage(c, "scale")
return
}
process := c.Args()[0]
err = rackClient(c).SetFormation(app, process, count, memory)
if err != nil {
stdcli.Error(err)
return
}
displayFormation(c, app)
}
开发者ID:soulware,项目名称:rack,代码行数:32,代码来源:scale.go
注:本文中的github.com/convox/rack/cmd/convox/stdcli.Usage函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论