refactor: set default environment variables format in plugin (#253)

- Add `INPUT_ENVS_FORMAT` to the list of environment variables in `main.go`
- Define `envsFormat` variable in `plugin.go`
- Add default value for `Config.EnvsFormat` in `plugin.go` `Exec()` function

fix https://github.com/appleboy/drone-ssh/pull/235
This commit is contained in:
Bo-Yi Wu 2023-04-13 09:32:31 +08:00 committed by GitHub
parent 6464d9999f
commit 49542638c6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 7 additions and 2 deletions

View File

@ -199,8 +199,8 @@ func main() {
&cli.StringFlag{ &cli.StringFlag{
Name: "envs.format", Name: "envs.format",
Usage: "", Usage: "",
EnvVars: []string{"PLUGIN_ENVS_FORMAT"}, EnvVars: []string{"PLUGIN_ENVS_FORMAT", "INPUT_ENVS_FORMAT"},
Value: "export {NAME}={VALUE}", Value: envsFormat,
}, },
} }

View File

@ -17,6 +17,7 @@ var (
errMissingHost = errors.New("Error: missing server host") errMissingHost = errors.New("Error: missing server host")
errMissingPasswordOrKey = errors.New("Error: can't connect without a private SSH key or password") errMissingPasswordOrKey = errors.New("Error: can't connect without a private SSH key or password")
errCommandTimeOut = errors.New("Error: command timeout") errCommandTimeOut = errors.New("Error: command timeout")
envsFormat = "export {NAME}={VALUE}"
) )
type ( type (
@ -179,6 +180,10 @@ func (p Plugin) Exec() error {
return errMissingPasswordOrKey return errMissingPasswordOrKey
} }
if p.Config.EnvsFormat == "" {
p.Config.EnvsFormat = envsFormat
}
wg := sync.WaitGroup{} wg := sync.WaitGroup{}
wg.Add(len(p.Config.Host)) wg.Add(len(p.Config.Host))
errChannel := make(chan error) errChannel := make(chan error)