in executors/kubernetes/executor_kubernetes.go [85:123]
func (s *executor) Prepare(options common.ExecutorPrepareOptions) (err error) {
if err = s.AbstractExecutor.Prepare(options); err != nil {
return err
}
if s.BuildShell.PassFile {
return fmt.Errorf("kubernetes doesn't support shells that require script file")
}
if s.kubeClient, err = getKubeClient(options.Config.Kubernetes); err != nil {
return fmt.Errorf("error connecting to Kubernetes: %s", err.Error())
}
if err = s.setupResources(); err != nil {
return err
}
if s.pullPolicy, err = s.Config.Kubernetes.PullPolicy.Get(); err != nil {
return err
}
if err = s.overwriteNamespace(options.Build); err != nil {
return err
}
if err = s.overwriteServiceAccount(options.Build); err != nil {
return err
}
s.prepareOptions(options.Build)
if err = s.checkDefaults(); err != nil {
return err
}
s.Println("Using Kubernetes executor with image", s.options.Image.Name, "...")
return nil
}