From cc836610e781c7b47e44e081f7e070f7e55e2cb6 Mon Sep 17 00:00:00 2001 From: Andrey Poprotsky Date: Thu, 29 Sep 2022 22:19:07 +0100 Subject: [PATCH] GitHub action for build Docker image added --- .github/workflows/docker.yml | 27 +++++++++++++++++++++++++++ Dockerfile | 7 +++++++ 2 files changed, 34 insertions(+) create mode 100644 .github/workflows/docker.yml create mode 100644 Dockerfile diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml new file mode 100644 index 0000000..55e2f0c --- /dev/null +++ b/.github/workflows/docker.yml @@ -0,0 +1,27 @@ +name: docker + +on: + create: + branches: [main] + +jobs: + build: + runs-on: ubuntu-latest + steps: + - name: Checkout ${{ github.event.repository.name }} + uses: actions/checkout@v3 + - name: Login to Docker Hub + uses: docker/login-action@v2 + with: + username: ${{ secrets.DOCKER_HUB_USERNAME }} + password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }} + - name: Set up QEMU + uses: docker/setup-qemu-action@v2 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + - name: Build and push ${{ github.ref_name }} + uses: docker/build-push-action@v3 + with: + platforms: linux/amd64,linux/arm64 + push: true + tags: ${{ secrets.DOCKER_HUB_USERNAME }}/portctl:latest,${{ secrets.DOCKER_HUB_USERNAME }}/portctl:${{ github.ref_name }} diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..eb72134 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,7 @@ +FROM thevlang/vlang:alpine AS builder +COPY . /home/portctl +RUN cd /home/portctl && v -prod -skip-unused . + +FROM alpine:latest +COPY --from=builder /home/portctl/portctl /usr/local/bin +CMD ["portctl"]