mirror of
https://github.com/ipedrazas/drone-helm.git
synced 2026-06-16 14:49:45 +08:00
Merge pull request #22 from americT/CompatibleChanges
Values file support
This commit is contained in:
@@ -0,0 +1,8 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
|
||||
export GOOS=linux
|
||||
export GOARCH=386
|
||||
go build
|
||||
docker build -t drone-helm .
|
||||
@@ -43,6 +43,11 @@ func main() {
|
||||
Usage: "Kubernetes helm release",
|
||||
EnvVar: "PLUGIN_VALUES,VALUES",
|
||||
},
|
||||
cli.StringFlag{
|
||||
Name: "values_files",
|
||||
Usage: "Helm values override files",
|
||||
EnvVar: "PLUGIN_VALUES_FILES,VALUES_FILES",
|
||||
},
|
||||
cli.BoolFlag{
|
||||
Name: "skip_tls_verify",
|
||||
Usage: "Skip TLS verification",
|
||||
@@ -86,13 +91,14 @@ func run(c *cli.Context) error {
|
||||
Namespace: c.String("namespace"),
|
||||
SkipTLSVerify: c.Bool("skip_tls_verify"),
|
||||
Values: c.String("values"),
|
||||
ValuesFiles: c.String("values_files"),
|
||||
Release: c.String("release"),
|
||||
Chart: c.String("chart"),
|
||||
Debug: c.Bool("debug"),
|
||||
DryRun: c.Bool("dry-run"),
|
||||
Secrets: c.StringSlice("secrets"),
|
||||
Prefix: c.String("prefix"),
|
||||
TillerNs: c.String("tiller_ns"),
|
||||
TillerNs: c.String("tiller-ns"),
|
||||
},
|
||||
}
|
||||
resolveSecrets(&plugin)
|
||||
|
||||
@@ -26,6 +26,7 @@ type (
|
||||
Release string `json:"release"`
|
||||
Chart string `json:"chart"`
|
||||
Values string `json:"values"`
|
||||
ValuesFiles string `json:"values_files"`
|
||||
Debug bool `json:"debug"`
|
||||
DryRun bool `json:"dry_run"`
|
||||
Secrets []string `json:"secrets"`
|
||||
@@ -62,6 +63,12 @@ func setPushEventCommand(p *Plugin) {
|
||||
upgrade = append(upgrade, "--set")
|
||||
upgrade = append(upgrade, p.Config.Values)
|
||||
}
|
||||
if p.Config.ValuesFiles != "" {
|
||||
for _, valuesFile := range strings.Split(p.Config.ValuesFiles, ",") {
|
||||
upgrade = append(upgrade, "--values")
|
||||
upgrade = append(upgrade, valuesFile)
|
||||
}
|
||||
}
|
||||
if p.Config.Namespace != "" {
|
||||
upgrade = append(upgrade, "--namespace")
|
||||
upgrade = append(upgrade, p.Config.Namespace)
|
||||
@@ -118,7 +125,7 @@ func (p *Plugin) Exec() error {
|
||||
init := doHelmInit(p)
|
||||
err := runCommand(init)
|
||||
if err != nil {
|
||||
return fmt.Errorf("Error running helm comand: " + strings.Join(init[:], " "))
|
||||
return fmt.Errorf("Error running helm command: " + strings.Join(init[:], " "))
|
||||
}
|
||||
setHelmCommand(p)
|
||||
|
||||
@@ -127,7 +134,7 @@ func (p *Plugin) Exec() error {
|
||||
}
|
||||
err = runCommand(p.Config.HelmCommand)
|
||||
if err != nil {
|
||||
return fmt.Errorf("Error running helm comand: " + strings.Join(p.Config.HelmCommand[:], " "))
|
||||
return fmt.Errorf("Error running helm command: " + strings.Join(p.Config.HelmCommand[:], " "))
|
||||
}
|
||||
return nil
|
||||
}
|
||||
@@ -193,7 +200,8 @@ func (p *Plugin) debug() {
|
||||
// debug plugin obj
|
||||
fmt.Printf("Api server: %s \n", p.Config.APIServer)
|
||||
fmt.Printf("Values: %s \n", p.Config.Values)
|
||||
fmt.Printf("Values: %s \n", p.Config.Secrets)
|
||||
fmt.Printf("Secrets: %s \n", p.Config.Secrets)
|
||||
fmt.Printf("ValuesFiles: %s \n", p.Config.ValuesFiles)
|
||||
|
||||
kubeconfig, err := ioutil.ReadFile(KUBECONFIG)
|
||||
if err == nil {
|
||||
|
||||
Reference in New Issue
Block a user