Merge pull request #28 from compose-viz/dev-docker
feat: docker related
This commit is contained in:
commit
19a7888e99
2 changed files with 77 additions and 0 deletions
42
.github/workflows/release-docker-image.yml
vendored
Normal file
42
.github/workflows/release-docker-image.yml
vendored
Normal 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
35
Dockerfile
Normal 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" ]
|
Loading…
Reference in a new issue