Skip to content

Commit 6a780e7

Browse files
authored
[build][packaging] Add resilience when docker build (#22050) (#22082)
1 parent 624c459 commit 6a780e7

File tree

2 files changed

+19
-3
lines changed

2 files changed

+19
-3
lines changed

dev-tools/mage/dockerbuilder.go

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ import (
2626
"os/exec"
2727
"path/filepath"
2828
"strings"
29+
"time"
2930

3031
"github.com/magefile/mage/sh"
3132
"github.com/pkg/errors"
@@ -71,7 +72,13 @@ func (b *dockerBuilder) Build() error {
7172

7273
tag, err := b.dockerBuild()
7374
if err != nil {
74-
return errors.Wrap(err, "failed to build docker")
75+
fmt.Println(">> Building docker images again (after 10 seconds)")
76+
// This sleep is to avoid hitting the docker build issues when resources are not available.
77+
time.Sleep(10)
78+
tag, err = b.dockerBuild()
79+
if err != nil {
80+
return errors.Wrap(err, "failed to build docker")
81+
}
7582
}
7683

7784
if err := b.dockerSave(tag); err != nil {

x-pack/elastic-agent/magefile.go

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -507,8 +507,13 @@ func runAgent(env map[string]string) error {
507507
}
508508

509509
// build docker image
510-
if err := sh.Run("docker", "build", "-t", tag, "."); err != nil {
511-
return err
510+
if err := dockerBuild(tag); err != nil {
511+
fmt.Println(">> Building docker images again (after 10 seconds)")
512+
// This sleep is to avoid hitting the docker build issues when resources are not available.
513+
time.Sleep(10)
514+
if err := dockerBuild(tag); err != nil {
515+
return err
516+
}
512517
}
513518
}
514519

@@ -612,6 +617,10 @@ func copyAll(from, to string) error {
612617
})
613618
}
614619

620+
func dockerBuild(tag string) error {
621+
return sh.Run("docker", "build", "-t", tag, ".")
622+
}
623+
615624
func dockerTag() string {
616625
const commitLen = 7
617626
tagBase := "elastic-agent"

0 commit comments

Comments
 (0)