MCPcopy Index your code
hub / github.com/devspace-sh/devspace / deployOne

Method deployOne

pkg/devspace/deploy/deploy.go:162–254  ·  view source on GitHub ↗
(ctx devspacecontext.Context, deployConfig *latest.DeploymentConfig, options *Options)

Source from the content-addressed store, hash-verified

160}
161
162func (c *controller) deployOne(ctx devspacecontext.Context, deployConfig *latest.DeploymentConfig, options *Options) (bool, error) {
163 event := "deploy"
164 if options.Render {
165 event = "render"
166 }
167
168 var (
169 deployClient deployer.Interface
170 err error
171 method string
172 )
173
174 if !options.Render && deployConfig.Namespace != "" {
175 err = kubectlclient.EnsureNamespace(ctx.Context(), ctx.KubeClient(), deployConfig.Namespace, ctx.Log())
176 if err != nil {
177 return false, err
178 }
179 }
180
181 if deployConfig.Kubectl != nil {
182 deployClient, err = kubectl.New(ctx, deployConfig)
183 if err != nil {
184 return true, errors.Errorf("error deploying: deployment %s error: %v", deployConfig.Name, err)
185 }
186
187 method = "kubectl"
188 } else if deployConfig.Helm != nil {
189 // Get helm client
190 helmClient, err := helmclient.NewClient(ctx.Log())
191 if err != nil {
192 return true, err
193 }
194
195 deployClient, err = helm.New(helmClient, deployConfig)
196 if err != nil {
197 return true, errors.Errorf("error deploying: deployment %s error: %v", deployConfig.Name, err)
198 }
199
200 method = "helm"
201 } else {
202 return true, errors.Errorf("error deploying: deployment %s has no deployment method", deployConfig.Name)
203 }
204 // Execute before deployment deploy hook
205 err = hook.ExecuteHooks(ctx, map[string]interface{}{
206 "DEPLOY_NAME": deployConfig.Name,
207 "DEPLOY_CONFIG": deployConfig,
208 }, hook.EventsForSingle("before:"+event, deployConfig.Name)...)
209 if err != nil {
210 return true, err
211 }
212
213 wasDeployed := false
214 if !options.Render {
215 wasDeployed, err = deployClient.Deploy(ctx, options.ForceDeploy)
216 } else {
217 err = deployClient.Render(ctx, options.RenderWriter)
218 }
219 if err != nil {

Callers 1

DeployMethod · 0.95

Calls 11

ExecuteHooksFunction · 0.92
EventsForSingleFunction · 0.92
EnsureNamespaceMethod · 0.80
ContextMethod · 0.65
KubeClientMethod · 0.65
LogMethod · 0.65
DeployMethod · 0.65
RenderMethod · 0.65
ErrorfMethod · 0.45
DonefMethod · 0.45
InfofMethod · 0.45

Tested by

no test coverage detected