1
0
Fork 0
mirror of https://github.com/drone/drone-cli.git synced 2024-05-23 15:36:03 +02:00

add command to force kill builds

This commit is contained in:
Brad Rydzewski 2017-08-01 15:21:46 -04:00
parent 649de43693
commit ee3fd53a95
5 changed files with 56 additions and 3 deletions

View File

@ -16,5 +16,6 @@ var Command = cli.Command{
buildApproveCmd,
buildDeclineCmd,
buildQueueCmd,
buildKillCmd,
},
}

42
drone/build/build_kill.go Normal file
View File

@ -0,0 +1,42 @@
package build
import (
"fmt"
"strconv"
"github.com/drone/drone-cli/drone/internal"
"github.com/urfave/cli"
)
var buildKillCmd = cli.Command{
Name: "kill",
Usage: "force kill a build",
ArgsUsage: "<repo/name> <build>",
Action: buildKill,
Hidden: true,
}
func buildKill(c *cli.Context) (err error) {
repo := c.Args().First()
owner, name, err := internal.ParseRepo(repo)
if err != nil {
return err
}
number, err := strconv.Atoi(c.Args().Get(1))
if err != nil {
return err
}
client, err := internal.NewClient(c)
if err != nil {
return err
}
err = client.BuildKill(owner, name, number)
if err != nil {
return err
}
fmt.Printf("Force killing build %s/%s#%d\n", owner, name, number)
return nil
}

View File

@ -276,6 +276,13 @@ func (c *client) BuildDecline(owner, name string, num int) (*Build, error) {
return out, err
}
// BuildKill force kills the running build.
func (c *client) BuildKill(owner, name string, num int) error {
uri := fmt.Sprintf(pathBuild, c.addr, owner, name, num)
err := c.delete(uri)
return err
}
// BuildLogs returns the build logs for the specified job.
func (c *client) BuildLogs(owner, name string, num, job int) (io.ReadCloser, error) {
return nil, errors.New("Method not implemented")

View File

@ -72,6 +72,9 @@ type Client interface {
// BuildDecline declines a blocked build.
BuildDecline(string, string, int) (*Build, error)
// BuildKill force kills the running build.
BuildKill(string, string, int) error
// Deploy triggers a deployment for an existing build using the specified
// target environment.
Deploy(string, string, int, string, map[string]string) (*Build, error)

6
vendor/vendor.json vendored
View File

@ -273,10 +273,10 @@
"revisionTime": "2017-05-14T17:21:45Z"
},
{
"checksumSHA1": "hCvDBLoVfOQBsVFLrJmCE1c2i04=",
"checksumSHA1": "qLAnM1gmgrZfYrGCNE+nKYFrJAY=",
"path": "github.com/drone/drone-go/drone",
"revision": "4c3fa553f6b82974aa6c94c46de00b65ed42777b",
"revisionTime": "2017-05-22T22:46:34Z"
"revision": "327c9594f784216a651dbaed30731600e496dd4e",
"revisionTime": "2017-08-01T19:17:01Z"
},
{
"checksumSHA1": "pjMV8mwWcQ0Kk9cbLWweTGiqYPk=",