update docker build
Signed-off-by: James Strong <james.strong@chainguard.dev>
This commit is contained in:
parent
cbc68bc011
commit
b3cf60d136
2 changed files with 29 additions and 9 deletions
7
ingressctl/cmd/arch.go
Normal file
7
ingressctl/cmd/arch.go
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
package cmd
|
||||||
|
|
||||||
|
import "runtime"
|
||||||
|
|
||||||
|
func getArch() string {
|
||||||
|
return runtime.GOARCH
|
||||||
|
}
|
|
@ -124,37 +124,50 @@ func dockerBuild() error {
|
||||||
|
|
||||||
fmt.Printf("Container Build Path: %v\n", dco.Path)
|
fmt.Printf("Container Build Path: %v\n", dco.Path)
|
||||||
|
|
||||||
buildArgs := BuildArgs(dco.BuildArgs)
|
buildArgs(&dco.BuildArgs)
|
||||||
|
|
||||||
fmt.Printf("Base image: %s\n", dco.BuildArgs.BaseImage)
|
fmt.Printf("Base image: %s\n", dco.BuildArgs.BaseImage)
|
||||||
|
|
||||||
fmt.Printf("Build Args: %s\n", buildArgs)
|
fmt.Printf("Build Args: %s\n", buildArgs)
|
||||||
|
|
||||||
session.Command("docker", "build", "--no-cache", "--pull", fmt.Sprintf("%v", buildArgs), fmt.Sprintf("%s", dco.Path)).Run()
|
session.Command("docker", "build", "--no-cache", "--pull",
|
||||||
|
"--build-arg", "BASE_IMAGE="+dco.BuildArgs.BaseImage,
|
||||||
|
"--build-arg", "VERSION="+dco.BuildArgs.Version,
|
||||||
|
"--build-arg", "TARGETARCH="+dco.BuildArgs.TargetArch,
|
||||||
|
"--build-arg", "COMMIT_SHA="+dco.BuildArgs.CommitSHA,
|
||||||
|
"--build-arg", "BUILD_ID="+dco.BuildArgs.BuildId,
|
||||||
|
dco.Path).Run()
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func buildArgs(b *BuildArgs) string {
|
func buildArgs(b *BuildArgs) {
|
||||||
|
|
||||||
if b.BaseImage == "" {
|
if b.BaseImage == "" {
|
||||||
base, err := getIngressNginxBase()
|
base, err := getIngressNginxBase()
|
||||||
CheckIfError(err, "Issue Retrieving base image")
|
CheckIfError(err, "Issue Retrieving base image")
|
||||||
fmt.Printf("Base Image set %s\n", base)
|
|
||||||
b.BaseImage = base
|
b.BaseImage = base
|
||||||
}
|
}
|
||||||
|
|
||||||
buildArgString := "--build-arg BASE_IMAGE=" + b.BaseImage
|
if b.Version == "" {
|
||||||
|
b.Version = "1.0.0-dev"
|
||||||
return buildArgString
|
}
|
||||||
|
if b.TargetArch == "" {
|
||||||
|
b.TargetArch = getArch()
|
||||||
|
}
|
||||||
|
if b.CommitSHA == "" {
|
||||||
|
sha, _ := sh.Command("git", "rev-parse", "--short", "HEAD").Output()
|
||||||
|
b.CommitSHA = strings.TrimSpace(string(sha))
|
||||||
|
}
|
||||||
|
if b.BuildId == "" {
|
||||||
|
b.BuildId = "UNSET"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func getIngressNginxBase() (string, error) {
|
func getIngressNginxBase() (string, error) {
|
||||||
fmt.Print("GET INGRESS NGINX BASE")
|
|
||||||
dat, err := os.ReadFile("../NGINX_BASE")
|
dat, err := os.ReadFile("../NGINX_BASE")
|
||||||
CheckIfError(err, "Could not read NGINX_BASE file")
|
CheckIfError(err, "Could not read NGINX_BASE file")
|
||||||
fmt.Printf("Get Ingress Dat: %v\n", dat)
|
|
||||||
datString := string(dat)
|
datString := string(dat)
|
||||||
//remove newline
|
//remove newline
|
||||||
datString = strings.Replace(datString, "\n", "", -1)
|
datString = strings.Replace(datString, "\n", "", -1)
|
||||||
|
|
Loading…
Reference in a new issue