aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKonstantin Lebedev <9497591+kmlebedev@users.noreply.github.com>2022-05-14 18:40:32 +0500
committerKonstantin Lebedev <9497591+kmlebedev@users.noreply.github.com>2022-05-14 18:40:32 +0500
commit8f762a1a063cde46a626bc20843b0fd4f4af6aa2 (patch)
tree8454acc8fd8e70aeec9ab99ff1d2254d54615f9f
parentea4918394c75550d88ae9b6fb947fec84bd3117d (diff)
downloadseaweedfs-8f762a1a063cde46a626bc20843b0fd4f4af6aa2.tar.xz
seaweedfs-8f762a1a063cde46a626bc20843b0fd4f4af6aa2.zip
build release containers for all tags
-rw-r--r--.github/workflows/container_release2.yml3
-rw-r--r--.github/workflows/container_release4.yml58
-rw-r--r--docker/Dockerfile.go_build3
-rw-r--r--docker/Dockerfile.go_build_large43
-rw-r--r--docker/Makefile8
5 files changed, 69 insertions, 46 deletions
diff --git a/.github/workflows/container_release2.yml b/.github/workflows/container_release2.yml
index 6da882e38..a02ab4f87 100644
--- a/.github/workflows/container_release2.yml
+++ b/.github/workflows/container_release2.yml
@@ -52,7 +52,8 @@ jobs:
with:
context: ./docker
push: ${{ github.event_name != 'pull_request' }}
- file: ./docker/Dockerfile.go_build_large
+ file: ./docker/Dockerfile.go_build
+ build-args: TAGS=5BytesOffset
platforms: linux/amd64, linux/arm, linux/arm64, linux/386
tags: ${{ steps.docker_meta.outputs.tags }}
labels: ${{ steps.docker_meta.outputs.labels }}
diff --git a/.github/workflows/container_release4.yml b/.github/workflows/container_release4.yml
new file mode 100644
index 000000000..92d776f79
--- /dev/null
+++ b/.github/workflows/container_release4.yml
@@ -0,0 +1,58 @@
+name: "docker: build release containers for all tags"
+
+on:
+ push:
+ tags:
+ - '*'
+ workflow_dispatch: []
+
+permissions:
+ contents: read
+
+jobs:
+ build-default-release-container:
+ runs-on: [ubuntu-latest]
+
+ steps:
+ -
+ name: Checkout
+ uses: actions/checkout@629c2de402a417ea7690ca6ce3f33229e27606a5 # v2
+ -
+ name: Docker meta
+ id: docker_meta
+ uses: docker/metadata-action@69f6fc9d46f2f8bf0d5491e4aabe0bb8c6a4678a # v3
+ with:
+ images: |
+ chrislusf/seaweedfs
+ tags: |
+ type=ref,event=tag,suffix=_full
+ flavor: |
+ latest=false
+ labels: |
+ org.opencontainers.image.title=seaweedfs
+ org.opencontainers.image.description=SeaweedFS is a distributed storage system for blobs, objects, files, and data lake, to store and serve billions of files fast!
+ org.opencontainers.image.vendor=Chris Lu
+ -
+ name: Set up QEMU
+ uses: docker/setup-qemu-action@8b122486cedac8393e77aa9734c3528886e4a1a8 # v1
+ -
+ name: Set up Docker Buildx
+ uses: docker/setup-buildx-action@dc7b9719a96d48369863986a06765841d7ea23f6 # v1
+ -
+ name: Login to Docker Hub
+ if: github.event_name != 'pull_request'
+ uses: docker/login-action@49ed152c8eca782a232dede0303416e8f356c37b # v1
+ with:
+ username: ${{ secrets.DOCKER_USERNAME }}
+ password: ${{ secrets.DOCKER_PASSWORD }}
+ -
+ name: Build
+ uses: docker/build-push-action@e551b19e49efd4e98792db7592c17c09b89db8d8 # v2
+ with:
+ context: ./docker
+ push: ${{ github.event_name != 'pull_request' }}
+ file: ./docker/Dockerfile.go_build
+ build-args: TAGS=elastic,ydb,gocdk,hdfs
+ platforms: linux/amd64
+ tags: ${{ steps.docker_meta.outputs.tags }}
+ labels: ${{ steps.docker_meta.outputs.labels }}
diff --git a/docker/Dockerfile.go_build b/docker/Dockerfile.go_build
index b90c65069..c917ec556 100644
--- a/docker/Dockerfile.go_build
+++ b/docker/Dockerfile.go_build
@@ -3,10 +3,11 @@ RUN apk add git g++ fuse
RUN mkdir -p /go/src/github.com/chrislusf/
RUN git clone https://github.com/chrislusf/seaweedfs /go/src/github.com/chrislusf/seaweedfs
ARG BRANCH=${BRANCH:-master}
+ARG TAGS
RUN cd /go/src/github.com/chrislusf/seaweedfs && git checkout $BRANCH
RUN cd /go/src/github.com/chrislusf/seaweedfs/weed \
&& export LDFLAGS="-X github.com/chrislusf/seaweedfs/weed/util.COMMIT=$(git rev-parse --short HEAD)" \
- && CGO_ENABLED=0 go install -ldflags "-extldflags -static ${LDFLAGS}"
+ && CGO_ENABLED=0 go install -tags "$TAGS" -ldflags "-extldflags -static ${LDFLAGS}"
FROM alpine AS final
LABEL author="Chris Lu"
diff --git a/docker/Dockerfile.go_build_large b/docker/Dockerfile.go_build_large
deleted file mode 100644
index 5c5e84233..000000000
--- a/docker/Dockerfile.go_build_large
+++ /dev/null
@@ -1,43 +0,0 @@
-FROM golang:1.18-alpine as builder
-RUN apk add git g++ fuse
-RUN mkdir -p /go/src/github.com/chrislusf/
-RUN git clone https://github.com/chrislusf/seaweedfs /go/src/github.com/chrislusf/seaweedfs
-ARG BRANCH=${BRANCH:-master}
-RUN cd /go/src/github.com/chrislusf/seaweedfs && git checkout $BRANCH
-RUN cd /go/src/github.com/chrislusf/seaweedfs/weed \
- && export LDFLAGS="-X github.com/chrislusf/seaweedfs/weed/util.COMMIT=$(git rev-parse --short HEAD)" \
- && CGO_ENABLED=0 go install -tags 5BytesOffset -ldflags "-extldflags -static ${LDFLAGS}"
-
-FROM alpine AS final
-LABEL author="Chris Lu"
-COPY --from=builder /go/bin/weed /usr/bin/
-RUN mkdir -p /etc/seaweedfs
-COPY --from=builder /go/src/github.com/chrislusf/seaweedfs/docker/filer.toml /etc/seaweedfs/filer.toml
-COPY --from=builder /go/src/github.com/chrislusf/seaweedfs/docker/entrypoint.sh /entrypoint.sh
-RUN apk add fuse # for weed mount
-
-# volume server gprc port
-EXPOSE 18080
-# volume server http port
-EXPOSE 8080
-# filer server gprc port
-EXPOSE 18888
-# filer server http port
-EXPOSE 8888
-# master server shared gprc port
-EXPOSE 19333
-# master server shared http port
-EXPOSE 9333
-# s3 server http port
-EXPOSE 8333
-# webdav server http port
-EXPOSE 7333
-
-RUN mkdir -p /data/filerldb2
-
-VOLUME /data
-WORKDIR /data
-
-RUN chmod +x /entrypoint.sh
-
-ENTRYPOINT ["/entrypoint.sh"]
diff --git a/docker/Makefile b/docker/Makefile
index c8603309d..59648aa90 100644
--- a/docker/Makefile
+++ b/docker/Makefile
@@ -7,12 +7,18 @@ gen: dev
binary:
export SWCOMMIT=$(shell git rev-parse --short HEAD)
export SWLDFLAGS="-X github.com/chrislusf/seaweedfs/weed/util.COMMIT=$(SWCOMMIT)"
- cd ../weed; CGO_ENABLED=0 GOOS=linux go build --tags "$(tags)" -ldflags "-extldflags -static $(SWLDFLAGS)"; mv weed ../docker/
+ cd ../weed; CGO_ENABLED=0 GOOS=linux go build -tags "$(tags)" -ldflags "-extldflags -static $(SWLDFLAGS)"; mv weed ../docker/
build: binary
docker build --no-cache -t chrislusf/seaweedfs:local -f Dockerfile.local .
rm ./weed
+go_build: # make go_build tags=elastic,ydb,gocdk,hdfs,rocksdb,5BytesOffset
+ docker build --build-arg TAGS=$(tags) --no-cache -t chrislusf/seaweedfs:go_build -f Dockerfile.go_build .
+
+go_build_large_disk:
+ docker build --build-arg TAGS=large_disk --no-cache -t chrislusf/seaweedfs:large_disk -f Dockerfile.go_build .
+
build_gorocksdb:
docker build --no-cache -t chrislusf/gorocksdb -f Dockerfile.go_rocksdb .