diff --git a/pkg/cli/build_golang_bin.go b/pkg/cli/build_golang_bin.go index 018c4c4..89611a5 100644 --- a/pkg/cli/build_golang_bin.go +++ b/pkg/cli/build_golang_bin.go @@ -34,6 +34,7 @@ func BuildGolangBin() *cobra.Command { }, BuildPath: "main.go", BinName: "main", + CGOEnabled: false, ExecuteOnEntrypoint: false, }). Execute(ctx) diff --git a/pkg/pipelines/golang-bin.go b/pkg/pipelines/golang-bin.go index c16e9aa..cb56f48 100644 --- a/pkg/pipelines/golang-bin.go +++ b/pkg/pipelines/golang-bin.go @@ -26,6 +26,7 @@ type GolangBinOpts struct { BinName string BaseImage string ExecuteOnEntrypoint bool + CGOEnabled bool } func (p *Pipeline) WithGolangBin(opts *GolangBinOpts) *Pipeline { @@ -54,6 +55,12 @@ func (p *Pipeline) WithGolangBin(opts *GolangBinOpts) *Pipeline { } c = container.Workdir(c, "/src") + if opts.CGOEnabled { + c = c.WithEnvVariable("CGO_ENABLED", "1") + } else { + c = c.WithEnvVariable("CGO_ENABLED", "0") + } + build, err = golang.Cache(ctx, client, c) if err != nil { return err @@ -73,7 +80,7 @@ func (p *Pipeline) WithGolangBin(opts *GolangBinOpts) *Pipeline { byg.Step{ Execute: func(_ byg.Context) error { if opts.BaseImage == "" { - opts.BaseImage = "harbor.server.kjuulh.io/docker-proxy/library/golang" + opts.BaseImage = "harbor.server.kjuulh.io/docker-proxy/library/alpine" } binpath := "/usr/bin"