support rm flag

Signed-off-by: Bo-Yi Wu <appleboy.tw@gmail.com>
This commit is contained in:
Bo-Yi Wu
2016-12-05 11:04:11 +08:00
parent 6e7710e445
commit 2bb7d842f2
2 changed files with 23 additions and 0 deletions
+6
View File
@@ -60,6 +60,11 @@ func main() {
Usage: "display message from command",
EnvVar: "PLUGIN_DEBUG",
},
cli.BoolFlag{
Name: "rm",
Usage: "remove target folder before upload data",
EnvVar: "PLUGIN_RM",
},
cli.StringFlag{
Name: "repo.owner",
Usage: "repository owner",
@@ -151,6 +156,7 @@ func run(c *cli.Context) error {
Target: c.String("target"),
Source: c.StringSlice("source"),
Debug: c.Bool("debug"),
Remove: c.Bool("rm"),
},
}
+17
View File
@@ -42,6 +42,7 @@ type (
Target string
Source []string
Debug bool
Remove bool
}
// Plugin values.
@@ -121,6 +122,22 @@ func (p Plugin) Exec() error {
return err
}
// remove target before upload data
if p.Config.Remove {
log.Println("Remove target folder: " + p.Config.Target)
response, err := ssh.Run(fmt.Sprintf("rm -rf %s", p.Config.Target))
if p.Config.Debug {
log.Println(response)
}
if err != nil {
log.Println(err.Error())
return err
}
}
// mkdir path
log.Println("create remote folder " + p.Config.Target)
response, err := ssh.Run(fmt.Sprintf("mkdir -p %s", p.Config.Target))