Expand DRONE* variables before uploading the script

This commit is contained in:
Martino Facchin 2017-07-24 13:10:11 +02:00
parent e6d4fa77d1
commit 2daab5e1af

View File

@ -2,6 +2,7 @@ package main
import (
"fmt"
"os"
"strconv"
"strings"
"sync"
@ -86,6 +87,17 @@ func (p Plugin) Exec() error {
},
}
// expand DRONE env variables in script (like DRONE_DEPLOY_TO)
for index, _ := range p.Config.Script {
parts := strings.Split(p.Config.Script[index], " ")
for i, _ := range parts {
if strings.Contains(parts[i], "DRONE") {
parts[i] = os.ExpandEnv(parts[i])
}
}
p.Config.Script[index] = strings.Join(parts, " ")
}
p.log(host, "commands: ", strings.Join(p.Config.Script, "\n"))
stdoutChan, stderrChan, doneChan, errChan, err := ssh.Stream(strings.Join(p.Config.Script, "\n"), p.Config.CommandTimeout)
if err != nil {