replaced .travis.yml with multistage Docker build
This commit is contained in:
parent
ddb4f49cf7
commit
2619e02988
3 changed files with 24 additions and 27 deletions
27
.travis.yml
27
.travis.yml
|
@ -1,27 +0,0 @@
|
||||||
language: go
|
|
||||||
|
|
||||||
# Force-enable Go modules. This will be unnecessary when Go 1.12 lands.
|
|
||||||
env:
|
|
||||||
- GO111MODULE=on
|
|
||||||
|
|
||||||
# You don't need to test on very old version of the Go compiler. It's the user's
|
|
||||||
# responsibility to keep their compilers up to date.
|
|
||||||
go:
|
|
||||||
- 1.11.x
|
|
||||||
|
|
||||||
# Only clone the most recent commit.
|
|
||||||
git:
|
|
||||||
depth: 1
|
|
||||||
|
|
||||||
# Skip the install step. Don't `go get` dependencies. Only build with the code
|
|
||||||
# in vendor/
|
|
||||||
install: true
|
|
||||||
|
|
||||||
notifications:
|
|
||||||
email: false
|
|
||||||
|
|
||||||
before_script:
|
|
||||||
- go install -mod vendor github.com/mitchellh/gox
|
|
||||||
|
|
||||||
script:
|
|
||||||
- gox -output="hetzner-sb-notifier_{{.OS}}_{{.Arch}}"
|
|
20
Dockerfile
Normal file
20
Dockerfile
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
FROM golang:alpine as builder
|
||||||
|
|
||||||
|
RUN apk update && apk add git && apk add ca-certificates
|
||||||
|
RUN adduser -D -g '' appuser
|
||||||
|
RUN mkdir /hetzner-sb-notifier
|
||||||
|
COPY . /hetzner-sb-notifier/
|
||||||
|
WORKDIR /hetzner-sb-notifier
|
||||||
|
|
||||||
|
ENV VERSION=1.0
|
||||||
|
RUN chmod +x build.sh
|
||||||
|
|
||||||
|
RUN /hetzner-sb-notifier/build.sh linux
|
||||||
|
|
||||||
|
FROM scratch
|
||||||
|
COPY --from=builder /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/
|
||||||
|
COPY --from=builder /etc/passwd /etc/passwd
|
||||||
|
COPY --from=builder /hetzner-sb-notifier/build/hetzner-sb-notifier_linux_amd64 /hetzner-sb-notifier
|
||||||
|
RUN chmod +x hetzner-sb-notifier
|
||||||
|
USER appuser
|
||||||
|
ENTRYPOINT ["/hetzner-sb-notifier"]
|
4
build.sh
Normal file
4
build.sh
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
GO111MODULE=on
|
||||||
|
go get github.com/mitchellh/gox
|
||||||
|
go get ./...
|
||||||
|
gox -output="build/hetzner-sb-notifier_{{.OS}}_{{.Arch}}_${VERSION}" -osarch=$1/amd64
|
Reference in a new issue