mirror of
https://github.com/zeromicro/go-zero.git
synced 2025-02-03 00:38:40 +08:00
fix dockerfile generation bug (#277)
This commit is contained in:
parent
da8f76e6bd
commit
c686c93fb5
@ -16,6 +16,7 @@ import (
|
||||
)
|
||||
|
||||
const (
|
||||
dockerfileName = "Dockerfile"
|
||||
etcDir = "etc"
|
||||
yamlEtx = ".yaml"
|
||||
cstOffset = 60 * 60 * 8 // 8 hours offset for Chinese Standard Time
|
||||
@ -26,6 +27,7 @@ type Docker struct {
|
||||
GoRelPath string
|
||||
GoFile string
|
||||
ExeFile string
|
||||
HasArgs bool
|
||||
Argument string
|
||||
}
|
||||
|
||||
@ -96,12 +98,16 @@ func generateDockerfile(goFile string, args ...string) error {
|
||||
return err
|
||||
}
|
||||
|
||||
pos := strings.IndexByte(projPath, '/')
|
||||
if len(projPath) == 0 {
|
||||
projPath = "."
|
||||
} else {
|
||||
pos := strings.IndexByte(projPath, os.PathSeparator)
|
||||
if pos >= 0 {
|
||||
projPath = projPath[pos+1:]
|
||||
}
|
||||
}
|
||||
|
||||
out, err := util.CreateIfNotExist("Dockerfile")
|
||||
out, err := util.CreateIfNotExist(dockerfileName)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -124,6 +130,7 @@ func generateDockerfile(goFile string, args ...string) error {
|
||||
GoRelPath: projPath,
|
||||
GoFile: goFile,
|
||||
ExeFile: util.FileNameWithoutExt(filepath.Base(goFile)),
|
||||
HasArgs: builder.Len() > 0,
|
||||
Argument: builder.String(),
|
||||
})
|
||||
}
|
||||
|
@ -22,8 +22,8 @@ ADD go.mod .
|
||||
ADD go.sum .
|
||||
RUN go mod download
|
||||
COPY . .
|
||||
COPY {{.GoRelPath}}/etc /app/etc
|
||||
RUN go build -ldflags="-s -w" -o /app/{{.ExeFile}} {{.GoRelPath}}/{{.GoFile}}
|
||||
{{if .HasArgs}}COPY {{.GoRelPath}}/etc /app/etc
|
||||
{{end}}RUN go build -ldflags="-s -w" -o /app/{{.ExeFile}} {{.GoRelPath}}/{{.GoFile}}
|
||||
|
||||
|
||||
FROM alpine
|
||||
@ -33,8 +33,8 @@ ENV TZ Asia/Shanghai
|
||||
|
||||
WORKDIR /app
|
||||
COPY --from=builder /app/{{.ExeFile}} /app/{{.ExeFile}}
|
||||
COPY --from=builder /app/etc /app/etc
|
||||
|
||||
{{if .HasArgs}}COPY --from=builder /app/etc /app/etc
|
||||
{{end}}
|
||||
CMD ["./{{.ExeFile}}"{{.Argument}}]
|
||||
`
|
||||
)
|
||||
|
@ -27,7 +27,7 @@ import (
|
||||
)
|
||||
|
||||
var (
|
||||
BuildVersion = "20201125"
|
||||
BuildVersion = "1.1.1"
|
||||
commands = []cli.Command{
|
||||
{
|
||||
Name: "api",
|
||||
|
@ -60,7 +60,6 @@ func FindGoModPath(dir string) (string, bool) {
|
||||
var hasGoMod = false
|
||||
for {
|
||||
if FileExists(filepath.Join(tempPath, goModeIdentifier)) {
|
||||
tempPath = filepath.Dir(tempPath)
|
||||
rootPath = strings.TrimPrefix(absDir[len(tempPath):], "/")
|
||||
hasGoMod = true
|
||||
break
|
||||
|
Loading…
Reference in New Issue
Block a user