use separate goreleaser config file to generate docker images based on alpine
This commit is contained in:
parent
61ad1f26ea
commit
0edf35e638
20
.github/workflows/push.yml
vendored
20
.github/workflows/push.yml
vendored
@ -1,7 +1,7 @@
|
||||
name: 'snapshot'
|
||||
on: [push, pull_request]
|
||||
on: [ push, pull_request ]
|
||||
jobs:
|
||||
snapshot:
|
||||
pkg:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/setup-go@v1
|
||||
@ -17,8 +17,22 @@ jobs:
|
||||
- run: go get ./...
|
||||
- run: golangci-lint run -v
|
||||
- run: goreleaser --snapshot --skip-publish --rm-dist
|
||||
- uses: actions/upload-artifact@master
|
||||
with:
|
||||
name: ubuntu
|
||||
path: dist
|
||||
|
||||
docker:
|
||||
needs: [ pkg ]
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/setup-go@v1
|
||||
with:
|
||||
go-version: '1.13.x'
|
||||
- uses: actions/checkout@v1
|
||||
- run: ./docker.sh
|
||||
- run: docker images
|
||||
- uses: actions/upload-artifact@master
|
||||
with:
|
||||
name: dist
|
||||
name: alpine
|
||||
path: dist
|
||||
|
25
.goreleaser.docker.yml
Normal file
25
.goreleaser.docker.yml
Normal file
@ -0,0 +1,25 @@
|
||||
release:
|
||||
prerelease: true
|
||||
|
||||
builds:
|
||||
- binary: dive
|
||||
goos:
|
||||
- linux
|
||||
goarch:
|
||||
- amd64
|
||||
ldflags: -s -w -X main.version={{.Version}} -X main.commit={{.Commit}} -X main.buildTime={{.Date}}`.
|
||||
|
||||
dockers:
|
||||
-
|
||||
binaries:
|
||||
- dive
|
||||
dockerfile: Dockerfile
|
||||
image_templates:
|
||||
- "wagoodman/dive:{{ .Tag }}"
|
||||
- "wagoodman/dive:v{{ .Major }}"
|
||||
- "wagoodman/dive:v{{ .Major }}.{{ .Minor }}"
|
||||
- "wagoodman/dive:latest"
|
||||
- "quay.io/wagoodman/dive:{{ .Tag }}"
|
||||
- "quay.io/wagoodman/dive:v{{ .Major }}"
|
||||
- "quay.io/wagoodman/dive:v{{ .Major }}.{{ .Minor }}"
|
||||
- "quay.io/wagoodman/dive:latest"
|
@ -11,21 +11,6 @@ builds:
|
||||
- amd64
|
||||
ldflags: -s -w -X main.version={{.Version}} -X main.commit={{.Commit}} -X main.buildTime={{.Date}}`.
|
||||
|
||||
dockers:
|
||||
-
|
||||
binaries:
|
||||
- dive
|
||||
dockerfile: Dockerfile
|
||||
image_templates:
|
||||
- "wagoodman/dive:{{ .Tag }}"
|
||||
- "wagoodman/dive:v{{ .Major }}"
|
||||
- "wagoodman/dive:v{{ .Major }}.{{ .Minor }}"
|
||||
- "wagoodman/dive:latest"
|
||||
- "quay.io/wagoodman/dive:{{ .Tag }}"
|
||||
- "quay.io/wagoodman/dive:v{{ .Major }}"
|
||||
- "quay.io/wagoodman/dive:v{{ .Major }}.{{ .Minor }}"
|
||||
- "quay.io/wagoodman/dive:latest"
|
||||
|
||||
archives:
|
||||
- format: tar.gz
|
||||
format_overrides:
|
||||
|
13
Dockerfile
13
Dockerfile
@ -1,12 +1,5 @@
|
||||
FROM debian:sid-slim
|
||||
RUN apt-get update && apt-get install -y \
|
||||
curl \
|
||||
libdevmapper1.02.1 \
|
||||
libgpgme11-dev \
|
||||
&& rm -rf /var/lib/apt/lists/* \
|
||||
&& ln -s /lib/x86_64-linux-gnu/libdevmapper.so.1.02.1 /usr/lib/libdevmapper.so.1.02
|
||||
ARG DOCKER_CLI_VERSION="19.03.1"
|
||||
RUN curl -L https://download.docker.com/linux/static/stable/x86_64/docker-$DOCKER_CLI_VERSION.tgz | \
|
||||
tar -xz --strip-component=1 -C /usr/local/bin/ docker/docker
|
||||
FROM alpine:3.10
|
||||
COPY --from=wagoodman/dive:dev /usr/local/bin/docker /usr/local/bin/
|
||||
COPY dive /usr/local/bin/
|
||||
RUN apk add -U --no-cache gpgme device-mapper
|
||||
ENTRYPOINT ["/usr/local/bin/dive"]
|
||||
|
25
docker.sh
Executable file
25
docker.sh
Executable file
@ -0,0 +1,25 @@
|
||||
#!/usr/bin/env sh
|
||||
|
||||
set -e
|
||||
|
||||
cd "$(dirname $0)"
|
||||
|
||||
docker build -t wagoodman/dive:dev - <<EOF
|
||||
FROM golang:alpine AS build
|
||||
RUN apk add -U --no-cache gpgme-dev gcc musl-dev btrfs-progs-dev lvm2-dev curl git \
|
||||
&& curl -sfL https://install.goreleaser.com/github.com/goreleaser/goreleaser.sh | sh \
|
||||
&& curl -L https://download.docker.com/linux/static/stable/x86_64/docker-19.03.1.tgz | tar -xzf - docker/docker --strip-component=1 -C /usr/local/bin
|
||||
EOF
|
||||
|
||||
docker run --rm \
|
||||
-v //var/run/docker.sock://var/run/docker.sock \
|
||||
-v /$(pwd)://src \
|
||||
-w //src \
|
||||
wagoodman/dive:dev \
|
||||
goreleaser \
|
||||
-f .goreleaser.docker.yml \
|
||||
--snapshot \
|
||||
--skip-publish \
|
||||
--rm-dist
|
||||
|
||||
sudo chown -R $USER:$USER dist
|
Loading…
x
Reference in New Issue
Block a user