diff --git a/executors/kubernetes/executor_kubernetes.go b/executors/kubernetes/executor_kubernetes.go index 89bd0c4091f369151effd9974c16935744f53804..a753055a6b41ed0c4f11b4bfd23ccc5fe7b6d78a 100644 --- a/executors/kubernetes/executor_kubernetes.go +++ b/executors/kubernetes/executor_kubernetes.go @@ -432,9 +432,17 @@ func (s *executor) setupCredentials() error { func (s *executor) setupBuildPod() error { services := make([]api.Container, len(s.options.Services)) + var serviceAliases api.HostAlias + serviceAliases.Hostnames = make([]string, len(s.options.Services)) + serviceAliases.IP = "127.0.0.1" for i, service := range s.options.Services { resolvedImage := s.Build.GetAllVariables().ExpandValue(service.Name) services[i] = s.buildContainer(fmt.Sprintf("svc-%d", i), resolvedImage, service, s.serviceRequests, s.serviceLimits) + if service.Alias != "" { + serviceAliases.Hostnames[i] = service.Alias + } else { + serviceAliases.Hostnames[i] = service.Name + } } labels := make(map[string]string) @@ -471,6 +479,7 @@ func (s *executor) setupBuildPod() error { ServiceAccountName: s.configurationOverwrites.serviceAccount, RestartPolicy: api.RestartPolicyNever, NodeSelector: s.Config.Kubernetes.NodeSelector, + HostAliases: []api.HostAlias{serviceAliases}, Containers: append([]api.Container{ // TODO use the build and helper template here s.buildContainer("build", buildImage, s.options.Image, s.buildRequests, s.buildLimits, s.BuildShell.DockerCommand...),