mirror of
https://github.com/drone/drone-cli.git
synced 2024-09-22 03:40:48 +02:00
add command to force kill builds
This commit is contained in:
parent
649de43693
commit
ee3fd53a95
@ -16,5 +16,6 @@ var Command = cli.Command{
|
||||
buildApproveCmd,
|
||||
buildDeclineCmd,
|
||||
buildQueueCmd,
|
||||
buildKillCmd,
|
||||
},
|
||||
}
|
||||
|
42
drone/build/build_kill.go
Normal file
42
drone/build/build_kill.go
Normal 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
|
||||
}
|
7
vendor/github.com/drone/drone-go/drone/client.go
generated
vendored
7
vendor/github.com/drone/drone-go/drone/client.go
generated
vendored
@ -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")
|
||||
|
3
vendor/github.com/drone/drone-go/drone/interface.go
generated
vendored
3
vendor/github.com/drone/drone-go/drone/interface.go
generated
vendored
@ -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
6
vendor/vendor.json
vendored
@ -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=",
|
||||
|
Loading…
Reference in New Issue
Block a user