Skip to content

Commit

Permalink
Merge pull request #39 from jphacks/feature/release_docker
Browse files Browse the repository at this point in the history
Feature/release docker
  • Loading branch information
motty-mio2 authored Nov 14, 2023
2 parents 4fa00d1 + af858bb commit b15c267
Show file tree
Hide file tree
Showing 4 changed files with 144 additions and 0 deletions.
98 changes: 98 additions & 0 deletions .github/workflows/docker_release_build.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,98 @@
name: Docker Release Build

on:
push:
branches-ignore:
- "**"
tags:
- "v*"

env:
REGISTRY: ghcr.io

jobs:
build-and-push:
runs-on: ubuntu-20.04

permissions:
contents: read
packages: write
steps:
- name: Checkout
uses: actions/checkout@v3

- name: get_version
id: build_version
run: |
file_path="pyproject.toml"
version=$(awk -F ' = ' '$1=="version" {gsub(/"/, "", $2); print $2}' "$file_path")
echo "VERSION=$version" >> $GITHUB_OUTPUT
- name: Check Release Variables
run: |
if [[ "v${{ steps.build_version.outputs.VERSION }}" != "${{ github.ref_name }}" ]]; then
echo "pyproject or tag version mismatch"
exit 1
fi
# - name: Set up QEMU
# uses: docker/setup-qemu-action@v3
# - name: Set up Docker Buildx
# uses: docker/setup-buildx-action@v3

- name: Log in to the Container registry
uses: docker/login-action@v3
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: Build Base image
uses: docker/build-push-action@v5
with:
context: .
file: ./deploy/Dockerfile_alembic
push: true
# platforms: linux/amd64,linux/arm64
tags: |
${{ env.REGISTRY }}/jphacks/kb_2315/base:latest
${{ env.REGISTRY }}/jphacks/kb_2315/base:${{ steps.build_version.outputs.VERSION }}
- name: replace base version
run: |
sed -i -e "s/master/${{ steps.build_version.outputs.VERSION }}/" ./deploy/Dockerfile_alembic
sed -i -e "s/master/${{ steps.build_version.outputs.VERSION }}/" ./deploy/Dockerfile_app
sed -i -e "s/master/${{ steps.build_version.outputs.VERSION }}/" ./deploy/Dockerfile_graph
- name: Build Alembic image
uses: docker/build-push-action@v5
with:
context: .
file: ./deploy/Dockerfile_alembic
push: true
# platforms: linux/amd64,linux/arm64
tags: |
${{ env.REGISTRY }}/jphacks/kb_2315/alembic:latest
${{ env.REGISTRY }}/jphacks/kb_2315/alembic:${{ steps.build_version.outputs.VERSION }}
- name: Build FastAPI image
uses: docker/build-push-action@v5
with:
context: .
file: ./deploy/Dockerfile_app
push: true
# platforms: linux/amd64,linux/arm64
tags: |
${{ env.REGISTRY }}/jphacks/kb_2315/app:latest
${{ env.REGISTRY }}/jphacks/kb_2315/app:${{ steps.build_version.outputs.VERSION }}
- name: Build Streamlit image
uses: docker/build-push-action@v5
with:
context: .
file: ./deploy/Dockerfile_graph
push: true
# platforms: linux/amd64,linux/arm64
tags: |
${{ env.REGISTRY }}/jphacks/kb_2315/graph:latest
${{ env.REGISTRY }}/jphacks/kb_2315/graph:${{ steps.build_version.outputs.VERSION }}
13 changes: 13 additions & 0 deletions deploy/Dockerfile_alembic
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
FROM ghcr.io/motty-mio2/kb_2315/base:master as base

WORKDIR /src
COPY ../. /src/

ARG UID=1000
ARG GID=1000

RUN pip install -e . --no-cache-dir

USER dev

CMD ["alembic", "upgrade", "head"]
13 changes: 13 additions & 0 deletions deploy/Dockerfile_app
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
FROM ghcr.io/motty-mio2/kb_2315/base:master as base

WORKDIR /src
COPY ../. /src/

ARG UID=1000
ARG GID=1000

RUN pip install -e . --no-cache-dir

USER dev

CMD ["python", "./src/main.py"]
20 changes: 20 additions & 0 deletions deploy/Dockerfile_graph
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
FROM ghcr.io/motty-mio2/kb_2315/base:master as base

WORKDIR /src
COPY ../. /src/

ARG UID=1000
ARG GID=1000

RUN pip install -e . --no-cache-dir

USER dev

CMD ["streamlit", "run", "./src/graph.py", \
"--browser.gatherUsageStats=false", \
"--server.address=0.0.0.0", \
"--server.baseUrlPath=analyze", \
"--server.port=8501", \
"--server.enableCORS=false", \
"--server.enableXsrfProtection=false" \
]

0 comments on commit b15c267

Please sign in to comment.