mirror of
https://github.com/appleboy/drone-scp.git
synced 2026-06-04 18:23:59 +08:00
@@ -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"),
|
||||
},
|
||||
}
|
||||
|
||||
|
||||
@@ -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))
|
||||
|
||||
Reference in New Issue
Block a user