Skip to content

Commit 6750f92

Browse files
committed
Check if release is deployed on devspace up (#325)
1 parent b6f9fe1 commit 6750f92

1 file changed

Lines changed: 26 additions & 8 deletions

File tree

pkg/devspace/deploy/helm/client.go

Lines changed: 26 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -137,8 +137,33 @@ func (d *DeployConfig) Deploy(generatedConfig *generated.Config, forceDeploy boo
137137
return fmt.Errorf("Error hashing chart directory: %v", err)
138138
}
139139

140+
// Get HelmClient
141+
helmClient, err := helm.NewClient(d.KubeClient, d.Log, false)
142+
if err != nil {
143+
return err
144+
}
145+
146+
// Check if redeploying is necessary
147+
reDeploy := forceDeploy || generatedConfig.ChartHashs[chartPath] != hash
148+
if reDeploy == false {
149+
releases, err := helmClient.Client.ListReleases()
150+
if err != nil {
151+
return err
152+
}
153+
154+
reDeploy = true
155+
if releases != nil {
156+
for _, release := range releases.Releases {
157+
if release.GetName() == releaseName {
158+
reDeploy = false
159+
break
160+
}
161+
}
162+
}
163+
}
164+
140165
// Check if re-deployment is necessary
141-
if forceDeploy || generatedConfig.ChartHashs[chartPath] != hash {
166+
if reDeploy {
142167
d.Log.StartWait("Deploying helm chart")
143168
defer d.Log.StopWait()
144169

@@ -150,14 +175,7 @@ func (d *DeployConfig) Deploy(generatedConfig *generated.Config, forceDeploy boo
150175
return fmt.Errorf("Couldn't deploy chart, error reading from chart values %s: %v", chartPath+"values.yaml", err)
151176
}
152177

153-
// Get HelmClient
154-
helmClient, err := helm.NewClient(d.KubeClient, d.Log, false)
155-
if err != nil {
156-
return err
157-
}
158-
159178
containerValues := map[string]interface{}{}
160-
161179
for imageName, imageConf := range *config.Images {
162180
container := map[string]interface{}{}
163181
container["image"] = registry.GetImageURL(generatedConfig, imageConf, true)

0 commit comments

Comments
 (0)