From 1c2dfa48abb42f7e8879435b5cdd7c56c6bc194e Mon Sep 17 00:00:00 2001 From: Vincent Cui Date: Wed, 16 Mar 2022 17:06:15 +0800 Subject: [PATCH] build and push image to docker hub in a single action Signed-off-by: Vincent Cui --- .github/workflows/build-to-dockerhub.yml | 41 ++++++++++++++++++++++++ cluster/images/general/Dockerfile | 10 ++++++ 2 files changed, 51 insertions(+) create mode 100644 .github/workflows/build-to-dockerhub.yml create mode 100644 cluster/images/general/Dockerfile diff --git a/.github/workflows/build-to-dockerhub.yml b/.github/workflows/build-to-dockerhub.yml new file mode 100644 index 000000000..0f4534ea7 --- /dev/null +++ b/.github/workflows/build-to-dockerhub.yml @@ -0,0 +1,41 @@ +name: Build Images and push them to Dockerhub +on: + release: + types: + - published +jobs: + release-image: + name: Release images + strategy: + matrix: + target: + - karmada-aggregated-apiserver + - karmada-controller-manager + - karmada-scheduler + - karmada-webhook + - karmada-agent + - karmada-scheduler-estimator + - karmada-interpreter-webhook-example + runs-on: ubuntu-18.04 + steps: + - name: Checkout code + uses: actions/checkout@v2 + with: + fetch-depth: 0 + - name: install Go + uses: actions/setup-go@v2 + with: + go-version: 1.17.x + - name: Set up QEMU + uses: docker/setup-qemu-action@v1 + - name: Set up Buildx + uses: docker/setup-buildx-action@v1 + - name: Login to DockerHub + uses: docker/login-action@v1 + with: + username: ${{ secrets.DOCKERHUB_USER_NAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + - name: Build and push + env: + VERSION: ${{ github.ref_name }} + run: make mp-image-${{ matrix.target }} \ No newline at end of file diff --git a/cluster/images/general/Dockerfile b/cluster/images/general/Dockerfile new file mode 100644 index 000000000..619a6e4c2 --- /dev/null +++ b/cluster/images/general/Dockerfile @@ -0,0 +1,10 @@ +FROM golang:1.17 as builder +COPY karmada /code/karmada +WORKDIR /code/karmada +RUN make _TARGET_ + +FROM alpine:3.7 +RUN apk add -u --no-cache ca-certificates +COPY --from=builder "/code/karmada/_TARGET_" /bin/ +CMD ["/bin/_TARGET_"] +