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'
|
name: 'snapshot'
|
||||||
on: [push, pull_request]
|
on: [ push, pull_request ]
|
||||||
jobs:
|
jobs:
|
||||||
snapshot:
|
pkg:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/setup-go@v1
|
- uses: actions/setup-go@v1
|
||||||
@ -17,8 +17,22 @@ jobs:
|
|||||||
- run: go get ./...
|
- run: go get ./...
|
||||||
- run: golangci-lint run -v
|
- run: golangci-lint run -v
|
||||||
- run: goreleaser --snapshot --skip-publish --rm-dist
|
- 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
|
- run: docker images
|
||||||
- uses: actions/upload-artifact@master
|
- uses: actions/upload-artifact@master
|
||||||
with:
|
with:
|
||||||
name: dist
|
name: alpine
|
||||||
path: dist
|
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
|
- amd64
|
||||||
ldflags: -s -w -X main.version={{.Version}} -X main.commit={{.Commit}} -X main.buildTime={{.Date}}`.
|
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:
|
archives:
|
||||||
- format: tar.gz
|
- format: tar.gz
|
||||||
format_overrides:
|
format_overrides:
|
||||||
|
13
Dockerfile
13
Dockerfile
@ -1,12 +1,5 @@
|
|||||||
FROM debian:sid-slim
|
FROM alpine:3.10
|
||||||
RUN apt-get update && apt-get install -y \
|
COPY --from=wagoodman/dive:dev /usr/local/bin/docker /usr/local/bin/
|
||||||
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
|
|
||||||
COPY dive /usr/local/bin/
|
COPY dive /usr/local/bin/
|
||||||
|
RUN apk add -U --no-cache gpgme device-mapper
|
||||||
ENTRYPOINT ["/usr/local/bin/dive"]
|
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