consolidate dockerfile
This commit is contained in:
parent
441f030c4c
commit
f68a78e10f
3 changed files with 19 additions and 43 deletions
33
Taskfile.yml
33
Taskfile.yml
|
@ -3,29 +3,34 @@ version: '3'
|
|||
vars:
|
||||
UNAME:
|
||||
sh: uname
|
||||
GOOS:
|
||||
sh: go env GOOS
|
||||
DOCKER_WINDOWS_EXE: C:/build/listen/listen.exe
|
||||
DOCKER_EXE: /usr/src/listen/listen
|
||||
|
||||
tasks:
|
||||
default:
|
||||
cmd: "echo {{OS}}"
|
||||
deps:
|
||||
- go-build
|
||||
|
||||
go-build:
|
||||
- build:go
|
||||
|
||||
build:go:
|
||||
aliases:
|
||||
- build
|
||||
cmds:
|
||||
- "go build -o out/{{.GOOS}}/listen ."
|
||||
precondition:
|
||||
- "go build -o out/{{OS}}/ ."
|
||||
preconditions:
|
||||
- "which go"
|
||||
|
||||
docker-build:
|
||||
build:docker:
|
||||
cmds:
|
||||
- "docker build -t listen-build -f docker/build.$os.Dockerfile -e GOOS='{{.GOOS}}' ."
|
||||
- "mkdir -p out/{{.GOOS}}"
|
||||
- "docker build -t listen-build -f docker/build.Dockerfile --build-arg GOOS='{{OS}}' ."
|
||||
- "mkdir -p out/{{OS}}"
|
||||
- "docker create --name listen-build-tmp listen-build"
|
||||
- "docker cp listen-build-tmp:{{.DOCKER_EXE}} out/{{.GOOS}}"
|
||||
- cmd: "docker cp listen-build-tmp:/usr/src/listen/out/{{OS}}/listen.exe out/{{OS}}"
|
||||
platforms:
|
||||
- windows
|
||||
- cmd: "docker cp listen-build-tmp:/usr/src/listen/out/{{OS}}/listen out/{{OS}}"
|
||||
platforms:
|
||||
- darwin
|
||||
- linux
|
||||
- "docker rm listen-build-tmp"
|
||||
precondition:
|
||||
preconditions:
|
||||
- "which docker"
|
||||
- "uname | grep -qe Linux -e MINGW"
|
|
@ -1,16 +0,0 @@
|
|||
# This Dockerfile is meant for building listen for Linux ONLY
|
||||
# listen is currently not intended to run in a Docker container
|
||||
|
||||
ARG IMAGE="1-alpine"
|
||||
|
||||
FROM golang:${IMAGE} AS build
|
||||
|
||||
ENV GOOS="linux"
|
||||
|
||||
WORKDIR /usr/src/listen
|
||||
COPY . .
|
||||
|
||||
RUN apk upgrade --no-cache
|
||||
RUN go build .
|
||||
|
||||
CMD ["tail", "-f", "/dev/null"]
|
|
@ -1,13 +0,0 @@
|
|||
# This Dockerfile is meant for building listen for Windows ONLY
|
||||
# listen is currently not intended to run in a Docker container
|
||||
|
||||
ARG IMAGE="1-nanoserver"
|
||||
|
||||
FROM golang:${IMAGE} AS build
|
||||
|
||||
WORKDIR C:/build/listen
|
||||
COPY . .
|
||||
|
||||
RUN go build .
|
||||
|
||||
CMD ["ping.exe", "-t", "localhost"]
|
Loading…
Add table
Reference in a new issue