mirror of
https://github.com/fhswf/aki_prj23_transparenzregister.git
synced 2025-05-13 15:58:46 +02:00
Filled Docker Labels and ENVs to identify the git revision it was build from (#250)
Added labels and env vars to identify the git revion a container was build from to have a more transparent build flow of untaged images.
This commit is contained in:
parent
88f0673470
commit
ad7aa3e53b
12
.github/workflows/test-and-build-action.yaml
vendored
12
.github/workflows/test-and-build-action.yaml
vendored
@ -168,9 +168,9 @@ jobs:
|
|||||||
|
|
||||||
- name: Build All prior to push
|
- name: Build All prior to push
|
||||||
run: |
|
run: |
|
||||||
docker build --target ingest .
|
docker build --target ingest --build-arg GIT_HASH=${{github.sha}} .
|
||||||
docker build --target data-transformation .
|
docker build --target data-transformation --build-arg GIT_HASH=${{github.sha}} .
|
||||||
docker build --target web-server .
|
docker build --target web-server --build-arg GIT_HASH=${{github.sha}} .
|
||||||
docker image ls
|
docker image ls
|
||||||
|
|
||||||
- name: Exit workflow on pull request
|
- name: Exit workflow on pull request
|
||||||
@ -187,6 +187,8 @@ jobs:
|
|||||||
- name: Build and push ingest
|
- name: Build and push ingest
|
||||||
uses: docker/build-push-action@v5
|
uses: docker/build-push-action@v5
|
||||||
with:
|
with:
|
||||||
|
build-args: |
|
||||||
|
"GIT_HASH=${{github.sha}}"
|
||||||
push: true
|
push: true
|
||||||
tags: |
|
tags: |
|
||||||
ghcr.io/${{ github.repository_owner }}/${{ github.event.repository.name }}/ingest:${{ env.TAG_OR_MAIN }}
|
ghcr.io/${{ github.repository_owner }}/${{ github.event.repository.name }}/ingest:${{ env.TAG_OR_MAIN }}
|
||||||
@ -197,6 +199,8 @@ jobs:
|
|||||||
- name: Build and push data-transformation
|
- name: Build and push data-transformation
|
||||||
uses: docker/build-push-action@v5
|
uses: docker/build-push-action@v5
|
||||||
with:
|
with:
|
||||||
|
build-args: |
|
||||||
|
"GIT_HASH=${{github.sha}}"
|
||||||
push: true
|
push: true
|
||||||
tags: |
|
tags: |
|
||||||
ghcr.io/${{ github.repository_owner }}/${{ github.event.repository.name }}/data-transformation:${{ env.TAG_OR_MAIN }}
|
ghcr.io/${{ github.repository_owner }}/${{ github.event.repository.name }}/data-transformation:${{ env.TAG_OR_MAIN }}
|
||||||
@ -207,6 +211,8 @@ jobs:
|
|||||||
- name: Build and push web-server
|
- name: Build and push web-server
|
||||||
uses: docker/build-push-action@v5
|
uses: docker/build-push-action@v5
|
||||||
with:
|
with:
|
||||||
|
build-args: |
|
||||||
|
"GIT_HASH=${{github.sha}}"
|
||||||
push: true
|
push: true
|
||||||
tags: |
|
tags: |
|
||||||
ghcr.io/${{ github.repository_owner }}/${{ github.event.repository.name }}/web-server:${{ env.TAG_OR_MAIN }}
|
ghcr.io/${{ github.repository_owner }}/${{ github.event.repository.name }}/web-server:${{ env.TAG_OR_MAIN }}
|
||||||
|
15
Dockerfile
15
Dockerfile
@ -1,8 +1,15 @@
|
|||||||
FROM python:3.11-slim as base
|
FROM python:3.11-slim as base
|
||||||
LABEL AUTHOR="AKI Projektseminar 23"
|
LABEL AUTHOR="AKI Projektseminar 23" \
|
||||||
|
PROJECT="Transparenzregister" \
|
||||||
|
ORGANISATION="fh-swf.de"
|
||||||
|
|
||||||
ENV SQLALCHEMY_SILENCE_UBER_WARNING="1"
|
ENV SQLALCHEMY_SILENCE_UBER_WARNING="1"
|
||||||
|
|
||||||
ARG APP_HOME="transparenzregister"
|
ARG APP_HOME="transparenzregister"
|
||||||
|
ARG GIT_HASH
|
||||||
|
ENV GIT_HASH=${GIT_HASH}
|
||||||
|
LABEL GIT_HASH=${GIT_HASH}
|
||||||
|
|
||||||
WORKDIR /${APP_HOME}/
|
WORKDIR /${APP_HOME}/
|
||||||
USER root
|
USER root
|
||||||
RUN apt update -y && \
|
RUN apt update -y && \
|
||||||
@ -15,11 +22,15 @@ RUN pip install --find-links=dist aki-prj23-transparenzregister --no-cache-dir
|
|||||||
|
|
||||||
FROM base as ingest
|
FROM base as ingest
|
||||||
|
|
||||||
|
LABEL PART="DATA_INGESTOR"
|
||||||
|
|
||||||
RUN pip install --find-links=dist aki-prj23-transparenzregister[ingest] --no-cache-dir && \
|
RUN pip install --find-links=dist aki-prj23-transparenzregister[ingest] --no-cache-dir && \
|
||||||
rm dist/ -R
|
rm dist/ -R
|
||||||
|
|
||||||
FROM base as data-transformation
|
FROM base as data-transformation
|
||||||
|
|
||||||
|
LABEL PART="DATA-TRANSFORMATION"
|
||||||
|
|
||||||
RUN pip install --find-links=dist aki-prj23-transparenzregister[transformation] --no-cache-dir && \
|
RUN pip install --find-links=dist aki-prj23-transparenzregister[transformation] --no-cache-dir && \
|
||||||
rm dist/ -R
|
rm dist/ -R
|
||||||
|
|
||||||
@ -28,6 +39,8 @@ CMD ["--level", "DEBUG"]
|
|||||||
|
|
||||||
FROM base as web-server
|
FROM base as web-server
|
||||||
|
|
||||||
|
LABEL PART="WEB-SERVER"
|
||||||
|
|
||||||
RUN pip install --find-links=dist aki-prj23-transparenzregister[web-server] --no-cache-dir && \
|
RUN pip install --find-links=dist aki-prj23-transparenzregister[web-server] --no-cache-dir && \
|
||||||
rm dist/ -R
|
rm dist/ -R
|
||||||
|
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
"""Configures the logger."""
|
"""Configures the logger."""
|
||||||
|
import os
|
||||||
import sys
|
import sys
|
||||||
from argparse import ArgumentParser, Namespace
|
from argparse import ArgumentParser, Namespace
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
@ -45,6 +46,9 @@ def configer_logger(
|
|||||||
level=level_combined,
|
level=level_combined,
|
||||||
retention=5,
|
retention=5,
|
||||||
)
|
)
|
||||||
|
logger.info(
|
||||||
|
f"Starting an application build von git revision: \"{os.getenv('GIT_HASH', 'NO-KNOWN-HASH')}\""
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
def add_logger_options_to_argparse(parser: ArgumentParser) -> None:
|
def add_logger_options_to_argparse(parser: ArgumentParser) -> None:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user