mirror of
https://github.com/appleboy/drone-ssh.git
synced 2025-07-02 21:52:51 +08:00
parent
4e625fa760
commit
ed83305de8
6
main.go
6
main.go
@ -125,6 +125,11 @@ func main() {
|
|||||||
Usage: "Pass envs",
|
Usage: "Pass envs",
|
||||||
EnvVar: "PLUGIN_ENVS",
|
EnvVar: "PLUGIN_ENVS",
|
||||||
},
|
},
|
||||||
|
cli.BoolFlag{
|
||||||
|
Name: "debug",
|
||||||
|
Usage: "debug mode",
|
||||||
|
EnvVar: "PLUGIN_DEBUG",
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
// Override a template
|
// Override a template
|
||||||
@ -181,6 +186,7 @@ func run(c *cli.Context) error {
|
|||||||
Script: c.StringSlice("script"),
|
Script: c.StringSlice("script"),
|
||||||
Secrets: c.StringSlice("secrets"),
|
Secrets: c.StringSlice("secrets"),
|
||||||
Envs: c.StringSlice("envs"),
|
Envs: c.StringSlice("envs"),
|
||||||
|
Debug: c.Bool("debug"),
|
||||||
Proxy: easyssh.DefaultConfig{
|
Proxy: easyssh.DefaultConfig{
|
||||||
Key: c.String("proxy.ssh-key"),
|
Key: c.String("proxy.ssh-key"),
|
||||||
KeyPath: c.String("proxy.key-path"),
|
KeyPath: c.String("proxy.key-path"),
|
||||||
|
12
plugin.go
12
plugin.go
@ -33,6 +33,7 @@ type (
|
|||||||
Secrets []string
|
Secrets []string
|
||||||
Envs []string
|
Envs []string
|
||||||
Proxy easyssh.DefaultConfig
|
Proxy easyssh.DefaultConfig
|
||||||
|
Debug bool
|
||||||
}
|
}
|
||||||
|
|
||||||
// Plugin structure
|
// Plugin structure
|
||||||
@ -89,6 +90,10 @@ func (p Plugin) Exec() error {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
p.log(host, "======CMD======")
|
||||||
|
p.log(host, strings.Join(p.Config.Script, "\n"))
|
||||||
|
p.log(host, "======END======")
|
||||||
|
|
||||||
env := []string{}
|
env := []string{}
|
||||||
for _, key := range p.Config.Envs {
|
for _, key := range p.Config.Envs {
|
||||||
key = strings.ToUpper(key)
|
key = strings.ToUpper(key)
|
||||||
@ -99,7 +104,12 @@ func (p Plugin) Exec() error {
|
|||||||
|
|
||||||
p.Config.Script = append(env, p.Config.Script...)
|
p.Config.Script = append(env, p.Config.Script...)
|
||||||
|
|
||||||
p.log(host, "commands: ", strings.Join(p.Config.Script, "\n"))
|
if p.Config.Debug {
|
||||||
|
p.log(host, "======ENV======")
|
||||||
|
p.log(host, strings.Join(env, "\n"))
|
||||||
|
p.log(host, "======END======")
|
||||||
|
}
|
||||||
|
|
||||||
stdoutChan, stderrChan, doneChan, errChan, err := ssh.Stream(strings.Join(p.Config.Script, "\n"), p.Config.CommandTimeout)
|
stdoutChan, stderrChan, doneChan, errChan, err := ssh.Stream(strings.Join(p.Config.Script, "\n"), p.Config.CommandTimeout)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
errChannel <- err
|
errChannel <- err
|
||||||
|
@ -241,6 +241,7 @@ func TestSetENV(t *testing.T) {
|
|||||||
KeyPath: "./tests/.ssh/id_rsa",
|
KeyPath: "./tests/.ssh/id_rsa",
|
||||||
Secrets: []string{"FOO"},
|
Secrets: []string{"FOO"},
|
||||||
Envs: []string{"FOO"},
|
Envs: []string{"FOO"},
|
||||||
|
Debug: true,
|
||||||
Script: []string{"whoami; echo $FOO"},
|
Script: []string{"whoami; echo $FOO"},
|
||||||
CommandTimeout: 1,
|
CommandTimeout: 1,
|
||||||
Proxy: easyssh.DefaultConfig{
|
Proxy: easyssh.DefaultConfig{
|
||||||
|
Loading…
Reference in New Issue
Block a user