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