1
0
mirror of https://github.com/drone/drone-cli.git synced 2024-09-23 04:21:09 +02:00
drone-cli/drone/deploy.go
2016-03-29 00:02:27 -07:00

57 lines
991 B
Go

package main
import (
"fmt"
"strconv"
"github.com/codegangsta/cli"
"github.com/drone/drone-go/drone"
)
var DeployCmd = cli.Command{
Name: "deploy",
Usage: "deploy code",
Action: func(c *cli.Context) {
handle(c, deployCmd)
},
}
func deployCmd(c *cli.Context, client drone.Client) error {
var (
nameParam = c.Args().Get(0)
numParam = c.Args().Get(1)
envParam = c.Args().Get(2)
err error
owner string
name string
num int
)
num, err = strconv.Atoi(numParam)
if err != nil {
return fmt.Errorf("Invalid or missing build number")
}
owner, name, err = parseRepo(nameParam)
if err != nil {
return err
}
build, err := client.Build(owner, name, num)
if err != nil {
return err
}
if build.Event == drone.EventPull {
return fmt.Errorf("Cannot trigger a pull request deployment")
}
deploy, err := client.Deploy(owner, name, num, envParam)
if err != nil {
return err
}
fmt.Println(deploy.Number)
fmt.Println(deploy.Status)
return nil
}