Merge pull request #28 from compose-viz/dev-docker

feat: docker related
This commit is contained in:
Xyphuz 2022-05-29 16:02:18 +08:00 committed by GitHub
commit 19a7888e99
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 77 additions and 0 deletions

View file

@ -0,0 +1,42 @@
name: Release Docker Image
on:
push:
tags:
- "v*"
jobs:
docker:
runs-on: ubuntu-latest
steps:
-
name: Set up QEMU
uses: docker/setup-qemu-action@v2
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
-
name: Login to DockerHub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Extract Tag Version
id: tag_version
run: |
echo ::set-output name=VERSION::${GITHUB_REF#refs/tags/v}
- name: Echo Tag Version
run: echo ${{ steps.tag_version.outputs.VERSION }}
-
name: Build and push
uses: docker/build-push-action@v3
with:
push: true
tags: |
${{ secrets.DOCKER_HUB_USERNAME }}/compose-viz:latest
${{ secrets.DOCKER_HUB_USERNAME }}/compose-viz:${{ steps.tag_version.outputs.VERSION }}
cache-from: type=registry,ref=${{ secrets.DOCKER_HUB_USERNAME }}/compose-viz:buildcache
cache-to: type=registry,ref=${{ secrets.DOCKER_HUB_USERNAME }}/compose-viz:buildcache,mode=max

35
Dockerfile Normal file
View file

@ -0,0 +1,35 @@
FROM python:alpine3.16 as builder
COPY ./ /compose-viz/
RUN \
apk update && \
pip install --upgrade pip
RUN \
apk add binutils alpine-sdk libffi-dev
RUN \
pip install poetry && \
pip install pyinstaller
RUN \
cd /compose-viz && \
poetry config virtualenvs.create false && \
poetry install --no-root
RUN \
cd /compose-viz && \
pyinstaller --onefile --name cpv ./compose_viz/__main__.py
FROM alpine:3.16 as release
COPY --from=builder /compose-viz/dist/cpv /usr/local/bin/cpv
RUN \
apk add --no-cache graphviz ttf-droid
VOLUME [ "/in" ]
WORKDIR "/in"
ENTRYPOINT [ "cpv" ]