@@ -75,6 +75,7 @@ func (d *KoolDeploy) Execute(args []string) (err error) {
7575 var (
7676 filename string
7777 deployCreated * api.DeployCreateResponse
78+ isVerbose = d .env .IsTrue ("KOOL_VERBOSE" )
7879
7980 deployer = cloud .NewDeployer ()
8081 )
@@ -97,10 +98,30 @@ func (d *KoolDeploy) Execute(args []string) (err error) {
9798 }
9899 s .Stop ()
99100
101+ var chPingDone = make (chan bool )
102+ go func () {
103+ for {
104+ select {
105+ case <- chPingDone :
106+ if isVerbose {
107+ fmt .Println (" - ending deploy ping routine" )
108+ }
109+ return
110+ case <- time .After (30 * time .Second ):
111+ if isVerbose {
112+ fmt .Println (" - going to ping API while local build runs" )
113+ }
114+ if _ , err = deployer .PingDeploy (deployCreated ); err != nil {
115+ d .Shell ().Error (err )
116+ }
117+ }
118+ }
119+ }()
120+
100121 d .Shell ().Info ("Building images..." )
101122 for svcName , svc := range d .cloudConfig .Cloud .Services {
102123 if svc .Build != nil {
103- d .Shell ().Info (" > Build deploy image for service: " , svcName )
124+ d .Shell ().Info (" > Build deploy image for service ' " , svcName , "'" )
104125
105126 if err = cloud .BuildPushImageForDeploy (svcName , svc , deployCreated ); err != nil {
106127 if reportErr := deployer .BuildError (deployCreated , err ); reportErr != nil {
@@ -110,10 +131,13 @@ func (d *KoolDeploy) Execute(args []string) (err error) {
110131 return
111132 }
112133
113- d .Shell ().Info (" > Image for service: " , svcName , " built & pushed successfully." )
134+ d .Shell ().Info (" > Image for service ' " , svcName , "' built & pushed successfully." )
114135 }
115136 }
116137
138+ // ends ping
139+ chPingDone <- true
140+
117141 if deployCreated .LogsUrl != "" {
118142 d .Shell ().Info (strings .Repeat ("-" , 40 ))
119143 d .Shell ().Info ("Logs available at: " , deployCreated .LogsUrl )
0 commit comments